当 Hive 中的分区位置更改时,REFRESH table
命令会刷新 Impala 中的元数据吗?
我正在使用更改 Hive 表分区位置
ALTER TABLE db.table partition(key=value1, key2=value2) set location='path'
之后,我在 Impala 中运行REFRESH db.table
,它没有更新元数据。如果我运行INVALIDATE METADATA
它正在工作。
有Impala JIRA-4364为此开放。但是,自 2017 年以来,它一直在产品积压中,因此目前INVALIDATE METADATA
是唯一的解决方法。
更新:此问题已在 Impala 4.0 中修复(请参阅上面的相同 JIRA 链接(。
请确保在加载到 Hive 分区实例后执行 msck 修复。
之后,您可以在 Impala shell/UI 中使表所在的数据库的元数据失效