問題タブ [tez]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
parquet - Impala 2.7 は、Tez を使用して Hive から作成された寄木細工のテーブルからのデータの読み取りに失敗します
いくつかのユニオンすべての演算子を使用しているクエリを使用して、寄木細工のストレージ形式でパーティション分割された Hive テーブルにデータを入力しています。クエリは Tez を使用して実行されます。デフォルト設定では、複数の同時 Tez ライターが HDFS 構造を作成し、寄木細工のファイルがパーティション フォルダーの下のサブフォルダー (フォルダー名に Tez ライター ID を使用) に配置されます。例 /apps/hive/warehouse/scratch.db/test_table/part=p1/8/000000_0
メタデータを無効にしてテーブルの統計を収集した後でも、テーブルがクエリされると、Impala はゼロ行を返します。問題は、寄木細工のファイルを探すためにパーティションのサブフォルダーをトラバースしない Impala にあるようです。
hive.merge.tezfiles を true に設定すると (デフォルトでは false)、Tez に追加の処理ステップを使用して複数のファイルを 1 つにまとめることを効果的に強制すると、結果の寄木細工のファイルはパーティション フォルダーの直下に書き込まれ、更新後に Impala は新しいまたは更新されたパーティションのデータ。
パーティションのサブフォルダーを参照するように Impala に指示する構成オプションがあるかどうか、またはその点で動作を変更する Impala のパッチがあるかどうか疑問に思います。