HIVEテーブルの長さが小さい(数KB)から非常に長い(< 400MB)ストリングフィールドを格納しています。現在、私たちは本番環境で実行しているものではないが、(条件や結合なしで)ある表から別の表にデータをコピーするときにOOMの問題に直面していますが、この問題が発生する最も単純な使用例です。だから、HQLは、基本的には次のとおりです。HIVE非常に長いフィールドはOOMヒープを与えます
INSERT INTO new_table
SELECT * FROM old_table;
コンテナやJavaヒープが16ギガバイトに設定した
、我々がしようとした、さまざまなファイル形式など、持つと圧縮せず(のrcfile、ORC)、異なるエンジン(MR、TEZ)、何も役立たず、私たちは常にOOMを実行します。
正確に何が起こっているのかわかりません。私たちは、Javaプロセスが単一レコードの最大長のわずか数倍のメモリしか必要としないことを期待していました。これは〜400Mですが、16GBヒープ全体ではありません。
私たちに試してみるべきことを教えてください。
使用バージョン:2.4.2 HDP
サンプルログRAMのTEZ + ORC + 8Gを使用して:https://pastebin.com/uza84t6F
をエラーログやハイブを添付してくださいパラメーター。 – leftjoin
TEZ + ORC + 8G RAMの編集済みサンプルログ – Martin