問題タブ [hadoop-lzo]

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.

0 投票する
0 に答える
141 参照

mapreduce - ハイブ sql は、並べ替えまたは配布を追加すると、結果ファイルのサイズが以前よりも大きくなります

私のハイブ テーブルはすべて lzo 圧縮タイプです。次のような 2 つの hive-sql があります。

[1]

[1] sql には reduce がないため、多くの小さなファイルが作成されます。

[2]

唯一の違いは最後の行です.sql [2]には「並べ替え」があります.

データ数と内容は同じですが、[2] のファイル サイズは [1] よりも大きくなり、hdfs ファイル サイズは以前のほぼ 1 倍になりました。

理由を見つけるのを手伝ってくれませんか。

0 投票する
1 に答える
1012 参照

apache-spark - 圧縮されていないthriftファイルをsparkで読む

私はs3から圧縮されていないthriftファイルをsparkに読み取らせようとしています。これまでのところ、機能していません。

  • データは圧縮されていないthriftファイルとしてs3にロードされます。ソースは AWS Kinesis Firehose です。
  • ファイルを問題なく逆シリアル化するツールを持っているので、thrift のシリアル化/逆シリアル化が機能することはわかっています。
  • スパークでは、newAPIHadoopFileを使用しています
  • エレファントバードのLzoThriftBlockInputFormatを使用して、lzo圧縮されたthriftファイルを正常に読み取ることができます
  • 圧縮されていないthriftファイルを読み取るためにどのInputFormatを使用すればよいかわかりません。

そこにあるInputFormatsのいずれかでそれは可能ですか? 自分で実装する必要がありますか?

0 投票する
1 に答える
390 参照

java - Java Hadoop-lzo インターフェースが見つかりましたが、クラスが期待されていました LzoTextInputFormat

Hadoop-LZOパッケージ (こちらの手順を使用してビルド)を使用しようとしています。次の方法で lzo ファイルをインデックス付きファイルに変換できたため、すべてが正常に機能したようです (これはbig_file.lzo.index期待どおりに返されます)。

次に、mapreduce ジョブでこれらのファイルを (big_file.lzo.index入力として)使用します。

次のエラーが表示されます。

これに答える他の質問を見たことがありますが、Hadoop v2 に対して再構築するように言われています。だから私はGithubからすべてを再ダウンロードして実行しました

私のパスを構築するときは次のとおりです。

何が間違っているのか本当にわかりません。antHadoop v2 を表示するにはどうすればよいですか?

編集 1 : おそらく注意: mapreduce ジョブ (呼び出しLzoTextInputFormat.class) と lzo コンバーター (on big_file.lzo) の両方を実行すると、クラスパスは次のようになります。

編集 2 : 次のように lzo ファイルのインデックスを作成すると (つまり、DistributedLzoIndexer代わりにmapreduce ジョブを使用してインデックスを作成しようとするとLzoIndexer)、同様のエラーが発生します。

0 投票する
1 に答える
281 参照

hadoop - インデックス後の Hadoop lzo シングル スプリット

LZO 圧縮ファイルが/data/mydata.lzoあり、これを MapReduce コードで実行したいと考えています。最初に、次のコマンドでhadoop-lzoパッケージを使用してインデックス ファイルを作成します。

これは正常に実行されます

ファイルを作成します/data/mydata.lzo.index。これを他のHadoop Javaコードで実行したい

正しく実行されますが、永遠にかかります。ファイルが 1 回だけ分割されることに気付きました (LZO 以外のファイルに対してこの同じジョブを実行すると、約 25 回分割されます)。

私は何を間違っていますか?

hadoop-lzo のドキュメントが少し不足しています。「新しいファイルに対して、ワードカウントなどのジョブを実行します」と表示されます。ファイルを入力として使用する必要があると最初に考えましたが、それを使用/data/mydata.lzo.indexすると空の出力が得られます。ドキュメントには、「.lzo ファイルのインデックス作成を忘れた場合、ジョブは機能しますが、ファイル全体を 1 回の分割で処理するため、効率が低下することに注意してください。」と記載されているため、何らかの理由でindexファイルが表示されません。

インデックスファイルを渡す適切な方法は何ですか?

編集: GitHub のこの問題によると、インデックス ファイルは自動的に推測され、ファイル サイズに応じて分割されます。なぜ私が単一の分割を取得しているのかはまだわかりません。

0 投票する
1 に答える
231 参照

java - native-lzo が利用できないエラー | ウィンドウズ 10 | ジャワ

parquetwriter で lzo 圧縮コーデックを使用しようとしています。Hadoop は必要ないので、Hadoop_Home パスには hadoop.dll と winutils.exe しかありません。私の Windows システムでは、ドキュメントに記載されているように lzo2.dll をビルドしようとしましたが、その使用方法がわかりません。Twitter フォーク hadoop-lzo を実行しましたが、Windows の手順は明確ではありませんでした。このコーデックを Windows で実行する方法を教えてください。hadoop-3.2.1、lzo-2.1.0、hadoop-lzo をダウンロードしました。

hadoop-lzo で mvn clean install を使用すると、gplcompression.dll が見つからないというエラーが発生します。