問題タブ [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 投票する
3 に答える
4134 参照

python - ファイルを解凍せずに、Pythonでlzoファイルを開きます

私は現在、Twitterからのデータを含む3年目のプロジェクトに取り組んでいます。部門は私に1か月分のTwitterの.lzoを提供してくれました。最小は4.9GBで、解凍すると29 GBになるので、ファイルを開いて読み込もうとしています。これは可能ですか、それともデータを解凍してそのように操作する必要がありますか?

編集:それを1行ずつ読み取り、読み取った行を解凍しようとしました

更新:解決策を見つけました-lzop-dcのSTDOUTを読み取ることは魅力のように機能します

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

hadoop - 64 MB を超える RDBMS .lzo .gz ファイルへの Sqoop エクスポートで重複をロードする

スクープ 1.3 の使用

hdfs出力をmysqlテーブルにエクスポートしようとしています

サイズが 300MB を超える非圧縮ファイルをロードしている間、すべてが期待どおりに機能します。

しかし、サイズが 75 MB または 79 MB の圧縮ファイル (.gz および .lzo) をロードすると、テーブルにロードされる行が 2 倍になります。これは、圧縮ファイルのサイズが 60MB 以下の場合には発生しません (64 MB に関連するもの、ブロック サイズを推測します)。上記のコンテキストで行ったいくつかの操作:

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

hadoop - LZO 以外の圧縮を使用して Hadoop Map/Reduce で Protocol Buffer ファイルを処理するにはどうすればよいですか?

Hadoop Map/Reduce を使用して、LZO 以外のものを使用して圧縮された区切りxzプロトコル バッファ ファイルを処理したいと考えていますgzip。Twitter のエレファント バード ライブラリは、主に LZO 圧縮された protobuf ファイルの読み取りをサポートしているようで、私のニーズを満たしていないようです。これを行うための既存のライブラリまたは標準的なアプローチはありますか?

注:圧縮アルゴリズムの選択からわかるように、解決策がprotobufファイルを分割可能にする必要はありません。あなたの答えは特定の圧縮アルゴリズムを指定する必要さえありませんが、少なくとも1つを許可する必要があります私が言及したもの。)

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

java - ローカルで実行されている Hive には、LZO のネイティブ ライブラリが含まれています

OSX Mountain Lion でローカルに Hive を実行しようとしており、次の手順に従っています。

https://github.com/twitter/hadoop-lzo

ネイティブ OSX ライブラリと jar をコンパイルしましたが、Hive/Hadoop がネイティブ ライブラリを使用するように、Hive をローカルで起動する方法がわかりません。

JAVA_LIBRARY_PATH 環境変数を介してそれを含めようとしましたが、それは一般的に Hadoop だけのものだと思います。

LzopCodec を使用してハイブを実行すると、次のようになります。

map/reduce ジョブを実行するクエリを実行すると、次のエラーが発生します。

また、Hive スクリプトで mapred.child.env LD_LIBRARY_PATH を設定しようとしました (うまくいきません)。

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

python - MapReduce の出力は完全なセットではありませんか?

Python の単一の Hadoop 疑似分散ノードでストリーミング Hadoop ジョブを実行しています。また、hadoop-lzo を使用して .lzo 圧縮入力ファイルで分割を生成しています。

小さな圧縮または非圧縮のテスト データセットを使用すると、すべてが期待どおりに機能します。MapReduce の出力は、単純な 'cat | 地図 | ソート | UNIX のパイプラインを減らします。- 入力が圧縮されているかどうか。

ただし、単一の大きな .lzo (事前にインデックス付けされた) データセット (最大 40GB 圧縮) の処理に移行し、ジョブが複数のマッパーに分割されると、出力が切り詰められたように見えます。最初のいくつかのキー値のみが存在します。

コードと出力が続きます。ご覧のとおり、プロセス全体をテストするための非常に単純なカウントです。

テスト データ (大規模なデータセットのサブセット) に対する単純な UNIX パイプラインからの出力。

テストデータに対する Hadoop ジョブからの出力 (上記と同じテストデータ)

ここで、テスト データは実際のデータセットからの行の小さなサブセットであるため、ジョブが完全なデータセットに対して実行されたときに、結果の出力に上記のキーが表示されることを少なくとも期待できます。しかし、私が得たものは次のとおりです。

...データセットに基づいて予想されるよりもはるかに少ないキーがあります。

私はキー自体にあまり悩まされていません - このセットは、入力データセットを考えると予想される可能性があります。私は、さらに多くのキーが数千単位である必要があることをより懸念しています。データセットの最初の 2500 万レコードに対して UNIX パイプラインでコードを実行すると、約 1 ~ 7000 の範囲のキーが取得されます。

したがって、この出力は、私が実際に期待するものの最初の数行にすぎないように見えますが、その理由はわかりません。多くの part-0000# ファイルの照合が欠落していますか? または似たようなものですか?これは、私が自宅でテストしている単一ノードの疑似分散 Hadoop にすぎないため、収集する part-# ファイルがさらにある場合、それらがどこにあるのかわかりません。HDFS のretention_counts ディレクトリには表示されません。

マッパーとリデューサーのコードは次のとおりです。実際には、多くの単語数の例が浮かんでいるのと同じです。

objectdata_map.py

objectdata_red.py

これはすべて、手動でインストールされた hadoop 1.1.2、疑似分散モードで、hadoop-lzo からビルドおよびインストールされたものです。

https://github.com/kevinweil/hadoop-lzo

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

hadoop - Java Hadoop フレームワーク外でのシーケンス ファイルの作成

Java フレームワーク、具体的には Python の外部で Hadoop のシーケンス ファイルを生成する実験を行っています。これを行うためのほぼ同様のフレームワークを提供する python-hadoop モジュールがあります。それを使用してシーケンスファイルを正常に作成しました。生成されたシーケンス ファイルを HDF にコピーして、Hadoop ジョブの入力として使用できます。LZO と Snappy はローカルの Hadoop インストールで完全に構成されており、Java で org.apache.hadoop.io.SequenceFile.createWriter を介して実行すると、これらのアルゴリズムを使用して適切な圧縮シーケンス ファイルを生成できます。

しかし、python-hadoop で (ブロック) 圧縮方式として LZO や Snappy を試してみると、有効なシーケンス ファイルが生成されないようです。このコードと同様のスキームを使用しています。

https://github.com/fenriswolf/python-hadoop/blob/master/python-hadoop/hadoop/io/compress/LzoCodec.py

(ここでは、lzo を Snappy 圧縮用の snappy に置き換えます)、python-hadoop フレームワーク内では、これらのファイルをエラーなしで読み書きできます。ただし、Hadoop では、Hadoop 入力としてフィードすると EOF エラーが発生します。

LZO または Snappy を使用している場合にのみ、この特定のメッセージが一貫して表示されます。

私の疑いでは、Hadoop の LzoCodec と SnappyCodec は、lzo と snappy の Python の実装と同じ方法で生成または読み取りを行っていませんが、どうあるべきかわかりません。

Java Hadoop フレームワークの外部で、これらの圧縮スキームを使用したシーケンス ファイルが適切に生成されない理由はありますか? 繰り返しますが、Gzip、BZip2、または Default を使用している限り、すべてが正常に機能します。

0 投票する
2 に答える
1388 参照

hadoop - hadoop: lzo 圧縮からの自動分割可能な出力

Hadoop ジョブで圧縮ツールとして使用する lzo コーデックをセットアップしています。lzo には、分割可能なファイルを作成するという望ましい機能があることを知っています。しかし、lzo に分割可能なファイルを自動的に作成させる方法が見つかりませんでした。私がこれまでに読んだブログはすべて、ジョブの外部でインデクサーを使用し、出力された lzo ファイルを mapreduce ジョブへの入力として供給することについて言及しています。

ベンチマーク コードを変更したくない Hadoop ベンチマークをいくつか使用しています。Hadoop で lzo 圧縮を使用して、ベンチマークへの影響を確認します。マップ出力を圧縮するためのコーデックとして lzo を使用することを計画していますが、出力が分割可能でない場合、次のフェーズではノード内の圧縮された出力全体を機能させる必要があります。

出力ファイルを分割可能にするように lzo に指示する Hadoop 構成オプションはありますか?