問題タブ [orc]
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 - メモリ内バッファに対してレコードが大きすぎます。TEZ 経由で Hive の ORC テーブルを操作する際のエラー
HIVE (1.2.1) の「ORC」テーブルからデータを読み取り、そのデータを「TextInputFormat」でテーブルに入れようとしています。一部のエントリが元のデータでは大きすぎるため、操作中に次のエラーが発生します:
org.apache.hadoop.hive.ql.metadata.HiveException: org.apache.tez.runtime.library.common.sort.impl.ExternalSorter$MapBufferTooSmallException: メモリ内バッファーに対してレコードが大きすぎます。バッファ オーバーフロー制限を超えました。bufferOverflowRecursion=2、bufferList.size=1、blockSize=1610612736
問題を解決する方法はありますか?
クエリの実行には TEZ エンジンを使用していますが、単純な MR エンジンではエラーは発生しません。
実行するクエリ:
Upd: ORC から ORC ストレージにコピーするときの同じエラー。
Upd 2: ORC からの単純な「選択」は、どのエンジンでもうまく機能します。
hadoop - ORC への複数行の列を持つ Hive テキスト形式
複数行の列を持つテキスト形式のハイブ テーブルを ORC 形式に変換すると、列を正しく読み取ることができません。
カスタム レコード区切り文字を使用した Hive テーブル
上記の表の xml 列には、複数の行にデータが含まれています。このテーブルからクエリを実行すると、データが正しく表示されます。
上表のサンプルデータ(2行)
ORC 形式で別のテーブルを作成し、テキスト テーブルから ORC テーブルにデータをコピーしましたが、変換が正しくありません。
クエリselect * from MULTILINE_XML_ORC
を実行すると、次の結果が得られますが、これは正しくありません。
何かご意見は?
hadoop - ORC から読み取るときにマッパーの数を増やす
これが問題です。
Hive で圧縮された ORC テーブルからデータを読み込もうとしていますが、YARN はオリジナルではなく圧縮データ サイズの値を計算に使用するため、マッパーの正しい量を判断できません。約 100 GB のデータセットに対して 18 人のマッパーしかいないため、これは問題です。
hive.exec.reducers.bytes.per.reducer をいじってみると、リデューサーの数を増やすのに役立ちます。より多くのマッパーを入手する方法はありますか?
前もって感謝します!
hbase - ORC を使用したスパース データの格納
書き込みパフォーマンスを向上させるために、Hbase から ORC にいくつかのデータを移植しようとしています。Hbase では、データは行キーに対して合計 10 列に格納されます。Hbase を使用しているので、これらの列のスパース性について心配する必要はありません。ほとんどの行にゼロ以外の値を持つ列が 2 つしかない場合でも、Hbase は 2 つの列しか格納しないので問題ありません。
データを移植するときの私の最初の本能は、上記の列修飾子をマップに関連する値に変換することでした。ただし、これは検索にはあまり効率的ではありません。ORC が null を解釈する方法を理解しようとしています。値をマップとしてではなく、10 個の個別の列として保存した方がよいでしょうか? 最悪の場合、この行列は非常にまばらになります。
hadoop - Snappy 圧縮の ORC ファイルは Stripe で分割可能ですか?
Snappy 圧縮の ORC ファイルはストライプで分割可能ですか? 私の知る限り、Snappy Compressed File は分割可能ではありません。しかし、ブログで、スナッピーな圧縮ファイルはストライプで分割可能であると読みました。本当?
apache-spark - スキーマ進化 (SCD) JSON/XML を ORC/Parquet 形式に変換する
スキーマが常に進化している入力として、さまざまな JSON/XML を取得しています。パフォーマンスを向上させるために、Hadoop/Hive 環境で ORC または Parquet 形式を使用してそれらを処理したいと考えています。
私は同じ目的を達成するための一般的なスタイルを以下に知っています:JSONSerdeまたはXMLSerdeライブラリを使用し、最初にこれらのserdeを使用してハイブテーブルを作成します。後で select * fields クエリが各 xml/json ハイブ テーブルで起動され、orc として保存するか、parquet として別のテーブルに保存します。成功したら、これらの Serde テーブルと XML/JSON データを削除できます。
同じことを行う別の良い方法は何ですか?