問題タブ [apache-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.
hadoop - Hive CLI と Beeline jdbc:hive2 は、100 万レコードを挿入する実行エンジン tez で動作が異なりますか?
数百万のレコード (20GB サイズ) を持つ大きなテーブルから空のテーブルへの挿入を実行する場合。ハイブ CLI とビーラインでは実行が異なります。
Hive CLI: Yarn で 2 つの TEZ ジョブ (おそらくマッパーとリデューサー) を作成し、約 413 秒で完了します。
Beeline: Yarn で最初の TEZ ジョブを作成し、他は 150 を超える MapReduce ジョブで、ほぼ 2 時間かかります。
内部でMapReduceジョブを作成するため、TEZジョブのhiveserver2ビーラインの予想される動作ですか?
環境の詳細:
- ハイブのバージョン: 2.1.1
- Tez バージョン: 0.8.5
ハイブ共通設定:
- hive.execution.engine=tez
- hive.mv.files.thread=0
ビーライン設定:
- tez.am.resource.memory.mb=20000
- mapreduce.map.memory.mb=20000
- hive.vectorized.execution.reduce.enabled=false;
前もって感謝します。
hadoop - 大規模な Hive インポート ジョブの構成
私は初心者で、大きな (1.25 TB の非圧縮) hdfs ファイルを取り、それを Hive 管理テーブルに入れようとしています。任意のパーティションを持つ csv 形式 (sqoop から) の HDFS に既にあり、クエリと結合のために、より整理された形式にしています。Tez を使用して HDP 3.0 を使用しています。これが私のものhql
です:
Tez がこれを設定する方法は次のとおりです (私の最近の失敗から):
私はしばらくこれに取り組んできました。map 1
最初は最初の頂点を実行できなかったので、バケットを追加しました。96 個のバケットで最初のマッパーが実行されましたが、reducer 2
意味をなさないディスク容量の問題を引用して失敗しました。次に、バケットの数を 9600 に増やし、タスクを 10000 に減らすと、reduce 2
ゆっくりではありますが、頂点が実行を開始しました。今朝、ガベージ コレクターの Java ヒープ スペース エラーが原因で namenode がシャットダウンしたため、エラーが発生したことがわかりました。
誰か私に何かアドバイスはありますか?削減タスクの数、バケットの数、および以下に示すすべての構成で、暗闇の中で撮影しているように感じます。
LLAP を設定していない
私のクラスターには、4 つのノード、32 コア、および 120 GB のメモリがあります。クラスターのストレージの 1/3 以上を使用していません。