我想在蜂巢表上更新lastAccessTime,在谷歌进入网络之后,我得到了一个解决方案:
set hive.exec.pre.hooks = org.apache.hadoop.hive.ql.hooks.UpdateInputAccessTimeHook$PreExec; 但是,如果我有两个数据库A&B,即hive:
set hive.exec.pre.hooks =
org.apache.hadoop.hive.ql.hooks.UpdateInputAccessTimeHook$PreExec;
use A;
insert overwrite A.xxx
select c1,c2 from B.xxx;蜂巢还我
org.apache.hadoop.hive.ql.metadata.InvalidTableException(Table未找到B.xxx
发布于 2020-07-07 10:10:11
我碰巧也想要同样的效果。采取一些时间,并最终作出它,你的方法是right.Just的价值掌握;
<property>
<name>hive.security.authorization.sqlstd.confwhitelist.append</name>
<value>hive\.exec\.pre\.hooks</value>
</property>
<property>
<name>hive.exec.pre.hooks</name>
<value>org.apache.hadoop.hive.ql.hooks.UpdateInputAccessTimeHook$PreExec</value>
</property>如果仍然不能工作,也许你的蜂巢有一个错误HIVE-18060UpdateInputAccessTimeHook对非当前数据库失败。如果您使用cdh,则在CDH5.15 CDH 5.15.0发行说明中修正。
https://stackoverflow.com/questions/46149610
复制相似问题