bucketId out of range: -1 (state=,code=0)

hive select * from table 出现如上报错

背景 集群为cdp ,hive版本为3.1

bucketId out of range: -1 (state=,code=0)

集群最开始安装了hive 和tez 没有安装hive on tez。后面发现select count(1)的时候没有启动tez

最后是 hive 不安装 hiveserver2

bucketId out of range: -1 (state=,code=0)

 hive on tez 安装了 

bucketId out of range: -1 (state=,code=0)

 另外 这个版本的hive有时候是建外表的,有时候是内表,搞得我都怀疑自己了。。。

建议大家都show create table 看下

bucketId out of range: -1 (state=,code=0)

bucketId out of range: -1 (state=,code=0) 说完了。然后我们是用datax从postgresql导数到hive。 这套我们之前在cdh上已经跑了很久了,没有任何问题。结果在cdp的时候报错了。

 .

唉 。最后百度无果,国内垃圾。

set hive.mapred.mode=nonstrict;

set hive.optimize.ppd=true;

set hive.optimize.index.filter=true;

set hive.tez.bucket.pruning=true; --根据大佬所说 这条是关键

set hive.explain.user=false;

set hive.fetch.task.conversion=none;

set hive.support.concurrency=true;

set hive.txn.manager=org.apache.hadoop.hive.ql.lockmgr.DbTxnManager;

干,虽说不理解这是啥意思 但是复制了这段 确实就好了。

bucketId out of range: -1 (state=,code=0)

bucketId out of range: -1 (state=,code=0) 

 还有另外一种。查原码

bucketId out of range: -1 (state=,code=0)

[HIVE-23051] Clean up BucketCodec - ASF JIRAbucketId out of range: -1 (state=,code=0)https://issues.apache.org/jira/browse/HIVE-23051 bucketId out of range: -1 (state=,code=0)

 直接说了这里一直为true。所以移除就行。自己替换下jar就行。

其实我猜测hive3.1默认是桶表,然后我又没有分桶 桶数量就是-1.这里就会报错

上一篇:第十届蓝桥杯-省赛-Java-A组-python代码


下一篇:excel 将图片的链接URL 显示为图片 转