問題タブ [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.

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

java - Hadoop: ジョブは小さなデータセットでは正常に実行されますが、大きなデータセットでは失敗します

次のような状況があります

次の構成の 3 台のマシン クラスターがあります。

Master

Slave 01

Slave 02

hadoop/conf/core-site.xml

hadoop/conf/mapred-site.xml

hadoop/conf/hdfs-site.xml

  • 200 万を超える XML ドキュメントがあります (各ドキュメントのサイズは ~ 400 KB)
  • mapタスクはこれらの xml のそれぞれを開き、それらを次のように出力します。JSON
  • reduceタスクはこれらのそれぞれをJSON文字列として取得し、変換を適用して出力します
  • 番号。mapタスク数- 100
  • 番号。タスクの数reduce- 01
  • ジョブ全体が正常に実行される場合number of documents = 10,000
  • の場合number of documents = 278262、ジョブが失敗し、次のようなさまざまな問題が発生します

WebUI上

スレーブ-01、スレーブ-02

マスター上


ログインして確認するとslaves、これが私が見つけたものですhadoop-hduser-datanode-hadoop-01.log

この問題を解決するために何をする必要があるかを理解するのを手伝ってください。

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

hadoop - ファイルデータをトークン化できません

私はhadoopとmapreduceが初めてです。マッパーでは、テキスト ファイルからこれらのデータをトークン化します。最初の数行は以下の形式で指定します。

String Tokenizer を使用すると、これらのデータを分割できません。マシンが混乱して、このファイルからデータを取得できません。String.split() 以外に、この問題の代替手段はありますか?

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

hadoop - Hadoop でケースのみを使用する方法は?

Hadoop mapreduce は初めてです。ファイルのテキストを小文字に変換するためのmapreduceコードを開発したいのですが、ファイルの前と同じ順序で.つまり、wordcountデータシーケンスに似ているのではなく、ファイルの実際の順序を意味します。

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

hadoop - エラー: 失敗したマップ タスクの数が許可された制限を超えました。FailedCount: 1. Hadoop での Lucene 検索の実行時

大きなテキスト ファイル内の各レコードを使用して、Lucene のインデックスで検索を実行し、必要に応じて結果をマッサージして、出力に書き込みます。

大きな入力テキスト ファイルと作成済みの Lucene インデックスを Hadoop のファイル システムに配置して、Hadoop を使用しようとしています。次に、ファイル処理 (ファイル レコードの読み取り、Lucene での検索、出力の書き込み) を行う Java プログラムを変更して、Hadoop ファイルシステムからレコードを読み取り、メモリ内に Lucene インデックスを作成しました。Hadoop ジョブを開始するコマンドは次のようになります。

「concept.jar」には、concept.HadoopConceptRunner クラスが含まれており、これは私が作成したものであることに注意してください。

私の問題は、この Hadoop ジョブを正しく実行できないことです =.=". 以下のような例外が発生しましたが、これを解決するのに役立つ意味のあるものを他に見つけることができません。

このエラーを修正するにはどうすればよいですか?

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

python - hadoop-streaming: mapred.reduce.tasks=1 の場合、リデューサーが実行されていないようです

私は基本的なMap Reduceプログラムを実行していますhadoop-streaming

Mapように見えます

私はそれを実行します

Hadoop in Actionで読んだのはmapred.reduce.tasks=1

特定のレデューサーを指定していないため、デフォルトの IdentityReducer が使用されます。その名前が示すように、IdentityReducer は入力をそのまま出力に渡します。

コンソールを見るとわかります

何の進展もなく、ただ走り続けるだけです。動作していないようですが、どうすれば修正できますか?

アップデート

  • D mapred.reduce.tasks=0 2 つのファイルが表示されpart-00000part-00001両方のファイルに 1 行 0 がある場合

  • whenD mapred.reduce.tasks=1-reduce 'cat' 動作は reduce が何もしていない場合と同じです

  • 実行するcat file | python AttibuteMax.py 8
    と868になります

これはD mapred.reduce.tasks=0、 とcat file | python AttributeMax.py 8も同じ出力を生成していないことを意味します (しかし、そうすべきですよね?)

入力データも同じ場合の動作の違いの原因は何ですか?

更新 1

  • D mapred.reduce.tasks=0 4 つのファイルpart-00000part-00001part-00002およびpart-000021 行でそれぞれ 268、706、348、868 が表示される場合
  • 実行すると、$ cat ~/Downloads/hadoop/input/apat63_99.txt | python ../../../src/main/python_scripts/AttributeMax.py 8 | cat 目的の出力が次のように表示されます868
0 投票する
3 に答える
599 参照

ruby - RVM を使用した Hadoop ストリーミングで Gem が見つからない

元の質問 (以下の長いバージョン)。短いバージョン: マッパーとして ruby​​ スクリプトを使用して Hadoop ストリーミングを実行し、すべてのクラスター ノードに rvm をインストールしても機能しません。ruby が Hadoop 起動シェルによって認識されていない (および rvm が正しくロードされていない) ためです。なんで?


wukongHadoop の map/reduce ジョブを作成するための gem として使用したいと考えていました。問題は、wukonghadoop が gem をロードできない (つまり見つからない) ことです。Hadoop ジョブで次のエラーが表示されます。

ただし、実行cat somefile | ./test.rb --mapすると、すべてのクラスター マシンで期待どおりに機能します。また、Hadoop ログから取得できるテスト ファイルにデバッグ出力を含めました。実行時

wukongも含むすべての宝石を生成します

$LOAD_PATH実行中のローカル (hadoop によって起動されていない) ruby​​ スクリプトを出力するときと同じパスを調べます。

Hadoop で起動された Ruby スクリプトが、明らかにインストールされ、正しく動作しているgem を見つけられないのはなぜですか?


Hadoop は次のように起動されます。

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

hadoop - Hadoop データ分割とデータ フロー制御

ストレージ システムとしての Hadoop について 2 つの質問があります。

  1. 3 つのデータ ノードの Hadoop クラスターがあり、サイズが 128 MB (分割サイズが 64 MB であると仮定) の巨大なファイルの分割を、選択したデータ ノードに転送したいと考えています。これは、そのような場合にどの分割がどの DataNode に行くかを制御する方法です。つまり、3 つのデータ ノード (つまり、D1、D2、D3) があり、特定のデータ ノードに移動する特定の分割 (「A」としましょう) が必要だとします。それを D2 とします。

    どうすればこれを行うことができますか?

  2. Hadoop ファイルシステムの可能な最小分割サイズは? 最小の分割サイズに設定するにはどうすればよいですか。

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

python - Amazon Elastic MapReduce-SIGTERM

私はEMRストリーミングジョブ(Python)を持っていますが、これは通常は正常に機能します(たとえば、10台のマシンが200個の入力を処理します)。ただし、大規模なデータセット(12台のマシンが合計6000の入力を処理し、入力ごとに約20秒)に対して実行すると、2.5時間のクランチの後、次のエラーが発生します。

これを正しく読んでいると、誰かがSIGTERMシグナルをストリーミングジョブに送信したため、サブプロセスがコード143で失敗しました。

私の理解は正しいですか?その場合:EMRインフラストラクチャはいつSIGTERMを送信しますか?

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

join - Hadoop ストリーミングによるマップ側結合

各行がレコードであるファイルがあります。特定のフィールド (フィールド A の場合に呼び出す) に同じ値を持つすべてのレコードが同じマッパーに送られるようにします。これは Map-Side Join と呼ばれていると聞いたことがありますが、ファイル内のレコードがフィールド A と呼ばれるもので並べ替えられていると簡単だとも聞きました。

より簡単な場合は、データを複数のファイルに分散することができますが、各ファイルはフィールド A で並べ替えられます。

これは正しいですか?ストリーミングでこれを行うにはどうすればよいですか? 私はPythonを使用しています。Hadoop を起動するために使用するコマンドの一部だと思いますか?

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

azure - Hadoop の生データへのアクセス

私は data.seattle.gov データ セットを見ていますが、一般的に、この大量の生データをすべて Hadoop クラスターに送信する方法を知りたいと思っています。Azureでhadoopを使用しています。