我尝试通过hive查询hbase数据(我正在使用cloudera)。我做了一个指向hbase的fiew hive外部表,但事情是Cloudera的Impala无法访问所有这些表。所有hive外部表都出现在Metastore管理器中,但是当我在Impala中执行一个简单的“show tables”时,我看到缺少3个表。 这会是特权问题吗?我看到在Metastore管理器中,每个人都可以读取丢失的3个表,所以...
答案 0 :(得分:46)
在Impala中运行查询“invalidate metadata”,您的表格将会显示。
答案 1 :(得分:1)
下面是?在线帮助说明: 缺少一些桌子?要更新Impala看到的表/元数据列表,请执行以下查询之一:
"invalidate metadata" invalidates the entire catalog metadata. All table metadata will be reloaded on the next access.
"invalidate metadata <table>" invalidates the metadata, load on the next access
"refresh <table>" refreshes the metadata immediately. It is a faster, incremental refresh.
答案 2 :(得分:0)
尽管impala中的INVALIDATE METADATA
命令有效it is documented to be expensive,但在最新版本中,现在可以使仅1个表的元数据无效,这将产生较小的影响:
INVALIDATE METADATA mynewtable
或者,如果您使用HUE,则还有一个较便宜的选项可用。如果您添加了多个新表,这可能会很方便: