hive 错误 FAILED: SemanticException [Error 10041]: No partition predicate found for

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了hive 错误 FAILED: SemanticException [Error 10041]: No partition predicate found for相关的知识,希望对你有一定的参考价值。

参考技术A 使用kylin 通过hive来创建cube,在build的时候出现这个错误

出现这个问题主要是hive设置了严格模式 ,而创建cube的时候查询没有指定分区,所以报错
解决办法有
1、set hive.mapred.mode=unstrict;
指定使用非严格模式,但是hive设置了严格模式就是为了防止某些查询消耗巨大的资源,所以请慎重。
2、修改SQL在where中加上分区字段。
比如我出问题的这条SQL,没有加分区条件,直接查询全表,所以报错

修改后加入分区字段D即可正常执行。

在Kylin中,对cube构建的SQL加分区字段,有一种办法是修改这个cube依赖的model,在model的settings里面设置Partition Date Column为你的hive的分区字段即可。
查看hive的分区字段 SHOW PARTITIONS tablename

启动hive报错[ERROR] Terminal initialization failed; falling back to unsupported

启动hive时报例如以下的错误[ERROR] Terminal initialization failed; falling back to unsupported

解决的方法:进入到hadoop安装文件夹下的share/hadoop/yarn下删除 jline的jar文件。再启动hive就可以

以上是关于hive 错误 FAILED: SemanticException [Error 10041]: No partition predicate found for的主要内容,如果未能解决你的问题,请参考以下文章

hive 错误 FAILED: SemanticException [Error 10041]: No partition predicate found for

启动hive报错[ERROR] Terminal initialization failed; falling back to unsupported

[ERROR] Terminal initialization failed; falling back to unsupported java.lang.IncompatibleClassChang

hive 插入数据的时候,不能直接运行,报错FAILED: Execution Error, return code 2 from org.apache.hadoop.hive.ql.exec.mr.

hive 插入数据的时候,不能直接运行,报错FAILED: Execution Error, return code 2 from org.apache.hadoop.hive.ql.exec.mr.

Hive 中的 ParseExection 错误