hadoop - 如何在 Impala 中使元数据无效、刷新和插入
问题描述
尝试使用 Impala 加载(通过插入)HDFS 表时出现元数据错误。
INVALIDATE METADATA s.event_table;
CREATE TABLE IF NOT EXISTS t.target_table;
INVALIDATE METADATA t.target_table;
REFRESH t.target_table;
TRUNCATE TABLE IF EXISTS t.target_table;
INSERT INTO TABLE
t.target_table
SELECT *
FROM s.event_table;
错误:AnalysisException:无法加载表的元数据:'s.event_table'
原因:TableLoadingException:无法加载表的元数据:s.event_table。
运行 'invalidate metadata s.event_table' 可能会解决此问题。
原因:MetaException:执行查询时抛出异常
如您所见,跑步INVALIDATE METADATA...
不起作用。
这是INVALIDATE METADATA
, REFRESH
, [TRUNCATE]
,的适当用法和顺序[INSERT]
吗?
解决方案
REFRESH s.event_table
之后添加另一个INVALIDATE METADATA s.event_table
似乎有效。
仍然希望看到有关此用法和排序完成的内容以及是否合适的另一个答案/评论。
编辑:这在重新运行时不起作用。现在我得到同样的错误TRUNCATE
推荐阅读
- rxjs - rxjs:从 Observables 集中获取最后一个值
- docker - 我可以在 Microsoft IoT Edge 中运行任何 docker 容器吗?
- json - JoinJS - fromJSON 方法错误:“dia.ElementView:需要标记”
- android - 后按时如何将对象恢复为以前的值?
- typo3 - TYPO3 v9.5.8 - 404 errorHandling 仅适用于二级 - 如何解决?
- java - java.lang.ClassNotFoundException: org.postgresql.Driver 问题
- django - 使用 transaction.atomic() 不适用于 Azure SQL 数据库
- apache-spark - 相同的 Apache Spark 查询,本地/EMR Spark 与 Databricks 上的不同执行计划
- angular - 打字稿:在类内调用静态方法(Angular HttpInterceptor)
- java - 响应 SOAP 请求的 UTF-8 问题