web-dev-qa-db-ja.com

インパラはすべてのHiveテーブルにアクセスできない

Hiveを介してhbaseデータを照会しようとします(私はclouderaを使用しています)。私はhbaseを指すいくつかのHive外部テーブルを実行しましたが、問題はClouderaのImpalaがそれらすべてのテーブルにアクセスできないことです。すべてのHive外部テーブルがメタストアマネージャーに表示されますが、Impalaで単純な「テーブルの表示」を実行すると、3つのテーブルが見つからないことがわかります。特権の問題でしょうか?メタストアマネージャーでは、不足している3つのテーブルが誰でも読み取り可能であることがわかります。

20
Nosk

Impalaで「メタデータを無効にする」というクエリを実行すると、テーブルが表示されます。

47
Romain

下は?オンラインヘルプの説明:一部のテーブルがありませんか? 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.
1
Steve Rokette

INVALIDATE METADATA impalaのコマンドは機能します それは高価であると文書化されています 、最近のバージョンでは、わずか1つのテーブルのメタデータを無効にできるようになりました。

INVALIDATE METADATA mynewtable

あるいは、HUEを使用する場合は、より安価なオプションも利用できます。これは、複数の新しいテーブルを追加した場合に便利です。

enter image description here

0