Hive连接超长Hbase宽表异常
2019獨(dú)角獸企業(yè)重金招聘Python工程師標(biāo)準(zhǔn)>>>
我們用Hive去連接一個(gè)Hbase款表,大概有150多個(gè)字段。
因此,就報(bào)了異常:
FAILED: Error in metadata: MetaException(message:javax.jdo.JDODataStoreException: Put request failed : INSERT INTO `SERDE_PARAMS` (`PARAM_VALUE`,`SERDE_ID`,`PARAM_KEY`) VALUES (?,?,?)
NestedThrowables:
org.datanucleus.store.mapped.exceptions.MappedDatastoreException: INSERT INTO `SERDE_PARAMS` (`PARAM_VALUE`,`SERDE_ID`,`PARAM_KEY`) VALUES (?,?,?) )
FAILED: Execution Error, return code 1 from org.apache.hadoop.hive.ql.exec.DDLTask
?
后來(lái)翻了墻,查了谷歌度娘,發(fā)現(xiàn)了原因。
在hive元數(shù)據(jù)中,存放serde信息的是一個(gè)varchar(4000)的字段,為了兼容oracle。
但是超過(guò)4000個(gè)字段怎么辦?
?
目前使用的是mysql數(shù)據(jù)庫(kù),解決方法是將字段擴(kuò)充成30000如下:
mysql> desc SERDE_PARAMS;
+-------------+---------------+------+-----+---------+-------+
| Field?????? | Type????????? | Null | Key | Default | Extra |
+-------------+---------------+------+-----+---------+-------+
| SERDE_ID??? | bigint(20)??? | NO?? | PRI | NULL??? |?????? |
| PARAM_KEY?? | varchar(256)? | NO?? | PRI | NULL??? |?????? |
| PARAM_VALUE | varchar(4000) | YES? |???? | NULL??? |?????? |
+-------------+---------------+------+-----+---------+-------+
3 rows in set (0.03 sec)
?
mysql> alter table SERDE_PARAMS modify column PARAM_VALUE varchar(30000);
Query OK, 447 rows affected (0.86 sec)
Records: 447? Duplicates: 0? Warnings: 0
?
mysql> desc SERDE_PARAMS;
+-------------+----------------+------+-----+---------+-------+
| Field??? ???| Type?????????? | Null | Key | Default | Extra |
+-------------+----------------+------+-----+---------+-------+
| SERDE_ID??? | bigint(20)???? | NO?? | PRI | NULL??? |?????? |
| PARAM_KEY?? | varchar(256)?? | NO?? | PRI | NULL??? |?????? |
| PARAM_VALUE | varchar(30000) | YES? |???? | NULL??? |?????? |
+-------------+----------------+------+-----+---------+-------+
3 rows in set (0.08 sec)??
?
異常解決。
但是只能暫時(shí)解決MySQL庫(kù)中的問(wèn)題,加入元數(shù)據(jù)存在其他庫(kù),則還會(huì)存在這樣的問(wèn)題。
?
?
轉(zhuǎn)載于:https://my.oschina.net/dacoolbaby/blog/353001
總結(jié)
以上是生活随笔為你收集整理的Hive连接超长Hbase宽表异常的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 三月桃花水300字作文
- 下一篇: hadoop2.4.1源码编译步骤 hi