其他分享
首页 > 其他分享> > bucketId out of range: -1 (state=,code=0)

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

作者:互联网

hive select * from table 出现如上报错

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

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

最后是 hive 不安装 hiveserver2

 hive on tez 安装了 

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

建议大家都show create table 看下

 说完了。然后我们是用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;

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

 

 还有另外一种。查原码

[HIVE-23051] Clean up BucketCodec - ASF JIRAhttps://issues.apache.org/jira/browse/HIVE-23051 

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

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

标签:安装,code,bucketId,tez,hive,range,set,报错,true
来源: https://blog.csdn.net/cclovezbf/article/details/123221567