問題タブ [hadoop-streaming]
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 - Hadoopは、java.nio.ByteBufferのキータイプに対してClassCastExceptionをスローします
クラスターのセットアップに「hadoop-0.20.203.0rc1.tar.gz」を使用しています。設定するたびにjob.setMapOutputKeyClass(ByteBuffer.class);
次の例外が発生したジョブを実行します。
また、ByteBufferは比較可能であり、書き込み可能ではないことに気づきました。追加情報が必要な場合はお知らせください。
python - Hadoopストリーミングで複数のMapReduceジョブをカスケードできますか(lang:Python)
Pythonを使用しており、Hadoopストリーミングを使用して次のシナリオに取り組む必要があります。a)Map1-> Reduce1-> Map2-> Reduce2 b)中間ファイルを保存したくないc)Cascading、Yelp、Oozieなどのパッケージをインストールしたくない。私は最後の選択肢としてそれらを保持しました。
私はすでにSOや他の場所で同じ種類の議論を経験しましたが、Pythonで答えを見つけることができませんでした。提案してもらえますか?
hadoop - Hadoop ストリーミングで numReduceTasks=0 を設定すると、o/p でレコードが欠落する
タイトルですでに述べたように、問題の可能性を教えてください。
指示
hadoop jar /usr/lib/hadoop/contrib/streaming/hadoop-streaming-0.20.2-cdh3u2.jar \
-input /usr/pkansal/ex2/output \
-output /usr/pkansal/ex2/output2 \
-mapper /home/cloudera/ex2/kMerFreqMap2.py \
-ファイル /home/cloudera/ex2/kMerFreqMap2.py \
-numReduceTasks 0 (この行にコメントを付けるとうまくいく)
I/P
3 chr1:1,chr1:3,chr1:5
1ch1:7
2 chr1:2,chr1:4
1ch1:6
期待されるO/P
chr1 1 3
chr1 3 3
chr1 5 3
chr1 7 1
chr1 2 2
chr1 4 2
chr1 6 1
実際の O/P
chr1 2 2
chr1 4 2
chr1 6 1
configuration - すべてのマッパーが完了した場合にのみ、レデューサー (コピー フェーズ) を強制的に開始できますか?
マップ フェーズがかなり長い Hadoop ジョブがあり、他の短いジョブを優先して実行したいと考えています。このために、hadoop job -set-priority job_id LOW で長いジョブの優先度を設定しました。
問題は、私の長い仕事の場合、マップ タスクの 30% しか完了していない場合でも、リデューサーのコピー フェーズが開始されることです。
すべての削減スロットが優先度の低いジョブによって使用されるため、グリッドは一種のブロックされます。他の小さなジョブはマップ フェーズを実行できますが、私の長いジョブが終了するまでレデューサーを取得することはありません。
何か案が?ありがとう。J.
hadoop - Amazon Elastic Map Reduce はインスタンスごとに 1 つまたは複数のマッパープロセスを実行しますか?
私の質問は、マッパーでマルチプロセッシングを自分で処理する必要があるか (標準入力からタスクを読み取り、ワーカー プロセスに分散し、結果をマスター プロセスに結合して標準出力に出力する)、Hadoop が自動的に処理するかどうかです。
Hadoop ストリーミングのドキュメントにも、Amazon Elastic MapReduce FAQ にも答えが見つかりませんでした。
hadoop - Hadoop で日々増加するデータを処理する方法
Hadoop で毎日増加するデータを処理する方法:
例えば:
初日、入力フォルダー (hadoop/demo など) に 100 万個のファイルがある場合があります。
同じフォルダで 2 日目には、既存の 100 万ファイル + 別の新しい 100 万ファイルから合計 200 万ファイルが増える可能性があります。
同様に 3 日 4 日... 続けます。
私の制約は -> 初日のファイルは次の日に処理されるべきではありません。
(つまり) 新しいファイルが追加されたときに、既に処理されたファイルを再度処理するべきではありません。具体的には、新しく追加されたファイルのみを処理し、古いファイルは無視する必要があります。
この問題を解決できる方法で私を助けてください。
それでも制約を理解していない場合は、制約について詳しく説明できるように、不明な点を教えてください!
hadoop - Hadoop API: Reducer の OutputFormat
Hadoop API と完全に混同しています。(常に変化していると思います)
私が間違っていなければJobConf
、 java から map reduce ジョブを実行する代わりにandクラスdeprecated
を使用することになっていました。最近リリースされたのはもはや非推奨ではないようです!Job
Configuration
hadoop 1.0.0
JobConf
だから私はマップ削減ジョブを実行するためにジョブと構成クラスを使用しています。ここで、マップ出力の一部である特定の値に基づいて、レデューサー出力ファイルをフォルダー構造に配置する必要があります。私はいくつかの記事を読み、OutputFormat
クラスでそれを達成できることを発見しましたが、このクラスは 2 つのパッケージに含まれています。
このjob
オブジェクトでは、出力フォーマット クラスを次のように設定できます。
SomeOutputFormat
extends
と言うとorg.apache.hadoop.mapreduce.lib.output.FileOutputFormat
、これという名前のメソッドが 1 つ得られますgetRecordWriter();
が、これは出力パスをオーバーライドするのにまったく役立ちません。
を使用する別の方法がありますが、それもクラスjobConf
の設定に関してはうまくいかないようです。mappers, reducers, partitions, sorting and grouping
私が見逃していることは非常に明白ですか?値に基づくフォルダー内に削減出力ファイルを書き込みたい。たとえば、SomeOutputPrefix/Value1/Value2/realReduceFileName
ありがとう!
hadoop - Java クラスをマッパーとして使用し、Python スクリプトをリデューサーとして使用する
ストリーミングで Hadoop を実行しようとしています。2 つのファイルがあります。1 つはマッパー用の Java ファイルで、もう 1 つはレデューサー用の Python スクリプトです。
MerkleMapper.java
Class MerkleMapper extends MapREduceBase
関数を定義しmap()
ます。入力分割の各レコードについて、入力key(byte_offset)
、value(line)
ペアを読み取りbyte_offset
、行の および ハッシュを出力します。
Reducer は、すべてのハッシュを組み合わせてトップ ハッシュを生成する Python スクリプトです。
2つ(JavaとPython)を組み合わせることは可能ですか?ストリーミングを使用して Java ファイルをマッパーとして指定するにはどうすればよいですか。
hadoop - HadoopでPDFファイルのデータにアクセスして操作する方法は?
hadoopを使用してPDFファイルを読みたいのですが、どうすればよいですか?私はhadoopがtxtファイルしか処理できないことを知っているだけなので、PDFファイルをtxtに解析する方法はありますか。
いくつか提案をください。
python - Python Hadoop ストリーミング ジョブにパラメーターを渡すにはどうすればよいですか?
Python Hadoop ストリーミング ジョブの場合、たとえばレデューサー スクリプトにパラメーターを渡して、渡されるパラメーターに基づいて異なる動作をさせるにはどうすればよいですか?
ストリーミング ジョブが次の形式で呼び出されることを理解しています。
hadoop jar hadoop-streaming.jar -input -output -mapper mapper.py -reducer reducer.py ...
reducer.py に影響を与えたい。