Impala can't access all hive table

2019-02-04 11:23发布

问题:

I try to query hbase data through hive (I'm using cloudera). I did a fiew hive external table pointing to hbase but the thing is Cloudera's Impala doesn't have an access to all those tables. All hive external tables appear in the metastore manager but when I do a simple "show tables" in Impala, I see that 3 tables are missing. Would it be a privileges problem ? I see that in the metastore manager that the 3 tables missing are readable by everybody so...

回答1:

Run the query 'invalidate metadata' in Impala and your tables will show-up.



回答2:

Beneath is the ? online help explanation: Missing some tables? In order to update the list of tables/metadata seen by Impala, execute one of these queries:

"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.


回答3:

Though the INVALIDATE METADATA command in impala works it is documented to be expensive, in recent versions it is now possible to invalidate the metadata of just 1 table, which will have less impact:

INVALIDATE METADATA mynewtable

Alternately, if you use HUE, there is also a less expensive option available. Which may be convenient if you have added multiple new tables: