問題タブ [sequencefile]
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.
python - Hadoopでそれぞれのファイルのファイル名と単語数を読み取る方法は?
Pythonのダンボパッケージを使用して、hadoopのシーケンスファイルからファイル名を取得しようとしています。しかし、それは私にある種の識別子を提供します。これをファイル名にマップするにはどうすればよいですか?
以下は、ファイル名を取得するための Hadoop システムでの私の手順です。
手順 1)シーケンスファイルの生成
指示 :
ステップ 2) Hadoop を介してシーケンス ファイルで Python スクリプトを実行する
指示:
ステップ 3)ローカル ディレクトリに出力を取得する
指示:
dumpo_map_red.py の場所
ファイル名を取得する方法を教えてください。それらがPythonの他のパッケージであり、そのように作業できるようにする場合は、お知らせください..
java - MapReduce を使用してテキストをシーケンスに変換すると、ジャンク文字が作成されます
MapReduce を使用してテキスト ファイルをシーケンス ファイルに変換し、テキストに戻しています。各行の先頭にいくつかの数字を取得しています。それらを削除したり、出力に表示されないようにするにはどうすればよいですか。
例: テキスト:
変換された配列ファイル:
シーケンスファイルから変換されたテキスト
0 15 28 の値を削除したい。
私は次のコードを使用しています:
どんな助けでも大歓迎です。
java - SequenceFile が切り捨てられるのはなぜですか?
私は学んHadoop
でいますが、この問題はしばらくの間私を困惑させました。基本的に、私はSequenceFile
ディスクに書き込み、それを読み返します。EOFException
ただし、いつでも読むたびに。詳細に調べると、シーケンス ファイルを書き込むときに途中で切り捨てられ、インデックス 962 の書き込み後に常に発生し、ファイルは常に 45056 バイトの固定サイズであることがわかります。
MacBook Pro で Java 8 と Hadoop 2.5.1 を使用しています。実際、Java 7 の別の Linux マシンで同じコードを試してみましたが、同じことが起こります。
ライター/リーダーが適切に閉じられていないことを除外できます。コードに示されているように、明示的な writer.close() で古いスタイルの try/catch を使用してみました。また、新しい try-with-resource アプローチも使用しました。どちらも機能していません。
どんな助けでも大歓迎です。
以下は私が使用しているコードです:
java - シーケンスファイルへの Hadoop の追加
現在、次のコードを使用して既存のSequenceFileに追加します。
シーケンスファイルが存在しない場合はすべて機能しますが、ファイルが存在する場合、Hadoop はファイルの途中でSequenceFileヘッダー (SEQ ...) を再度書き込み、ファイルは Hadoop で読み取り不能になります。
Hadoop 2.6.0 を使用しています
hadoop - Hadoop シーケンス ファイルに追加されたイメージ
Hadoop システムで Java プログラムを実行してイメージをシーケンス ファイルに保存し、その後そのシーケンス ファイルを読み取ろうとしています。シーケンスが作成されましたが、画像データがシーケンス ファイルに追加されません。
このコマンドを実行して、以下のコードを実行しようとしています
sudo -u hdfs hadoop jar /usr/java_jar/ImageStorage.jar ImageStorage 12e2baa2ae0e455ac40015942b682c4b.jpg
ここで私を助けてください。
hadoop - hsync() が SequenceFile Writer で機能しない
HDFS の圧縮された SequenceFile に毎秒 10 個のレコードを書き込み、5 分ごとに sync() を実行して、5 分より古いすべてのレコードを処理できるようにする小さなプログラムがあります。
私のコードはかなりの数の行なので、重要なビットのみを抽出しました。
ログだけを見ると、同期操作は期待どおりに機能しているように見えますが、HDFS 上のファイルは小さいままです。しばらくすると、いくつかのヘッダーといくつかのイベントが追加される可能性がありますが、hsync() の頻度に近いものさえあります。ファイルが閉じられると、すべてが一度にフラッシュされます。
予想される同期のたびに、ファイルの内容を手動でチェックしてデータが存在するかどうかを確認しようとしましたが、ここでもファイルが空に見えます: hdfs dfs -text filename
writer.hsync() が機能しない既知の理由はありますか? もしそうなら、これに対する回避策はありますか?
この問題のさらなるテスト ケース:
その結果、sequencefile ヘッダーの書き込みの開始時に 1 つの fsync があり、その後は fsync がなくなります。ファイルが閉じられると、コンテンツがディスクに書き込まれます。