updateinputaccesstimehook没有实现钩子接口,所以它不能从hive中使用吗?

0mkxixxg  于 2021-05-29  发布在  Hadoop
关注(0)|答案(1)|浏览(423)

我跑了 set hive.exec.pre.hooks=org.apache.hadoop.hive.ql.hooks.UpdateInputAccessTimeHook; 导致以下错误:
失败:配置单元内部错误:java.lang.classcastexception(org.apache.hadoop.hive.ql.hooks.updateinputaccesstimehook无法转换为org.apache.hadoop.hive.ql.hooks.hook)
任何查询。我检查了该类的源代码,该类没有实现错误中所述的钩子接口。但是同一个包中的所有其他类都实现了hook接口。那么我是不是用错了这个类,或者它是一个bug?谢谢。

k4emjkb1

k4emjkb11#

把它放进去 hive-site.xml 作为:

<property>
    <name>hive.exec.pre.hooks</name>
    <value>org.apache.hadoop.hive.ql.hooks.UpdateInputAccessTimeHook$PreExec</value>
</property>

或按设置在配置单元会话中

hive.exec.pre.hooks=org.apache.hadoop.hive.ql.hooks.UpdateInputAccessTimeHook$PreExec;

它在Hive2.1中对我有效

相关问题