問題タブ [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.
mapreduce - ハイブ sql は、並べ替えまたは配布を追加すると、結果ファイルのサイズが以前よりも大きくなります
私のハイブ テーブルはすべて lzo 圧縮タイプです。次のような 2 つの hive-sql があります。
[1]
[1] sql には reduce がないため、多くの小さなファイルが作成されます。
[2]
唯一の違いは最後の行です.sql [2]には「並べ替え」があります.
データ数と内容は同じですが、[2] のファイル サイズは [1] よりも大きくなり、hdfs ファイル サイズは以前のほぼ 1 倍になりました。
理由を見つけるのを手伝ってくれませんか。
apache-spark - 圧縮されていないthriftファイルをsparkで読む
私はs3から圧縮されていないthriftファイルをsparkに読み取らせようとしています。これまでのところ、機能していません。
- データは圧縮されていないthriftファイルとしてs3にロードされます。ソースは AWS Kinesis Firehose です。
- ファイルを問題なく逆シリアル化するツールを持っているので、thrift のシリアル化/逆シリアル化が機能することはわかっています。
- スパークでは、newAPIHadoopFileを使用しています
- エレファントバードのLzoThriftBlockInputFormatを使用して、lzo圧縮されたthriftファイルを正常に読み取ることができます
- 圧縮されていないthriftファイルを読み取るためにどのInputFormatを使用すればよいかわかりません。
そこにあるInputFormatsのいずれかでそれは可能ですか? 自分で実装する必要がありますか?
java - Java Hadoop-lzo インターフェースが見つかりましたが、クラスが期待されていました LzoTextInputFormat
Hadoop-LZOパッケージ (こちらの手順を使用してビルド)を使用しようとしています。次の方法で lzo ファイルをインデックス付きファイルに変換できたため、すべてが正常に機能したようです (これはbig_file.lzo.index
期待どおりに返されます)。
次に、mapreduce ジョブでこれらのファイルを (big_file.lzo.index
入力として)使用します。
次のエラーが表示されます。
これに答える他の質問を見たことがありますが、Hadoop v2 に対して再構築するように言われています。だから私はGithubからすべてを再ダウンロードして実行しました
私のパスを構築するときは次のとおりです。
何が間違っているのか本当にわかりません。ant
Hadoop v2 を表示するにはどうすればよいですか?
編集 1 : おそらく注意: mapreduce ジョブ (呼び出しLzoTextInputFormat.class
) と lzo コンバーター (on big_file.lzo
) の両方を実行すると、クラスパスは次のようになります。
編集 2 : 次のように lzo ファイルのインデックスを作成すると (つまり、DistributedLzoIndexer
代わりにmapreduce ジョブを使用してインデックスを作成しようとするとLzoIndexer
)、同様のエラーが発生します。
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 のこの問題によると、インデックス ファイルは自動的に推測され、ファイル サイズに応じて分割されます。なぜ私が単一の分割を取得しているのかはまだわかりません。
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 が見つからないというエラーが発生します。