2016-05-19 7 views
0

2つのデータソースがあり、それぞれが異なるフォーマットでデータを格納しています。2つのマッパー、それぞれ独自のソースディレクトリ - > 1つの減速機

それぞれは異なるマッパーで処理する必要がありますが、両方のマッパーは同じ中間フォーマットでリデューサーに渡されます。

私は複数の "入力"オプションをhadoopストリーミングに追加することで複数の入力を処理できることを知っていますが、入力ごとに別々のマッパーを割り当てる方法はありますか?

+1

[MultipleInputs](https://hadoop.apache.org/docs/r2.6.3/api /org/apache/hadoop/mapreduce/lib/input/MultipleInputs.html) – gudok

+0

@dust、このSE投稿を参照してください:http://stackoverflow.com/questions/37229646/hadoop-mapreduce-multiple-input-output-paths/37229864#37229864 –

+0

@Ravindrababu、私はこの答えを見ましたが、私の質問は、ハープストリームを使って同じようにする方法です。ありがとう。 – dust

答えて

0

HadoopのInputFormatには、1つのクラス "MultipleInputs"が含まれています。これは、複数のMapperで処理できる複数の入力ファイルを追加するために使用されます。以下はその構文です。

MultipleInputs.addInputpath(job、path、inputformatClass、1stMapperClass); MultipleInputs.addInputpath(job、path、inputformatClass、2stMapperClass);

1つの減速機によって処理されるマッパーの両方の出力.. _____________________________OR_______________________________________

あなたは一つのファイルをメモリに保存することができるのDistributedCache API、マップ-削減を使用することができますし、マップ側の結合を実行することができます。あなたは

Not understanding the path in distributed path

は役立ちます場合は私に知らせてください..以下のURLを参照してくださいすることができます>

+0

ishanにお答えいただきありがとうございますが、私の質問(およびタグ)で説明したように、これは純粋なhadoop Java実装ではなく、ハープ・ストリーミングに関するものでした。とにかくもう一度ありがとう。 – dust

関連する問題