日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

Hive连接超长Hbase宽表异常

發布時間:2023/12/31 编程问答 38 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Hive连接超长Hbase宽表异常 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

2019獨角獸企業重金招聘Python工程師標準>>>

我們用Hive去連接一個Hbase款表,大概有150多個字段。

因此,就報了異常:

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

?

后來翻了墻,查了谷歌度娘,發現了原因。

在hive元數據中,存放serde信息的是一個varchar(4000)的字段,為了兼容oracle。

但是超過4000個字段怎么辦?

?

目前使用的是mysql數據庫,解決方法是將字段擴充成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)??

?

異常解決。

但是只能暫時解決MySQL庫中的問題,加入元數據存在其他庫,則還會存在這樣的問題。

?

?

轉載于:https://my.oschina.net/dacoolbaby/blog/353001

總結

以上是生活随笔為你收集整理的Hive连接超长Hbase宽表异常的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。