2016-06-16 2 views
1

netezzahadoopの非パーティションテーブルからデータを拾い上げ、非パーティションからインサートの上書き方法でパーティション化しました。この後、私たちは、パーティション表上databasename.tablenameのための計算の増分統計を実行しているが、このクエリはエラーとパーティションのいくつかのために失敗したインパラクエリが-computeインクリメンタルな統計情報databsename.tableの名前に失敗しました

コマンドを実行できませんでした

:インクリメンタル統計といくつかのファイルの中のためそのようなファイルやディレクトリを計算しますパーティション化されたディレクトリ。

答えて

1

統計情報を計算する前にリフレッシュステートメントを実行して、すぐにメタデータを更新することができます。過去の経験から、リターンコードが与えられてもメタデータがまだリフレッシュされていることが示されているため、リフレッシュステートメントのリターンコードが0であっても、統計を計算する前に数秒待つ必要があります。スクリプトがこれらのコマンドを順番に実行している場合を除き、通常この問題は表示されません。

refresh yourTableName 
compute stats yourTableName 

Impala 2.3以降では、メタデータまたは修復テーブルを更新する代わりにalter tableリカバリパーティションを使用することもできます。あなたのanswer.Weため

alter yourTableName recover partitions 
compute stats yourTableName 
+0

おかげで統計ステートメントを実行する前に無効化メタデータを実行しているが、それは働いていませんでしたが、私たちの試みは、計算増分統計前にtableNameの更新時にtableNameのは、それが正常に動作し始めました。 –

+0

私はこの状況に直面した後、答えを改善しました。テーブルを修復すると、メタストアを新しいパーティションで更新することができます。 – Jared

関連する問題