3

Hadoop Map-Reduce を使用して以下の機能を実装する必要がありますか?

1) あるソースからのマッパーの 1 つの入力と、別の異なる入力ソースからの別の入力を読み取っています。

2)さらに処理するために、マッパーの両方の出力を単一のレデューサーに渡す必要があります。

Hadoop Map-Reduce で上記の要件を満たすことはありますか

4

2 に答える 2

0

MultipleInputs.addInputPathあなたが探しているものです。これは、構成がどのように見えるかです。AnyMapper1 と AnyMapper2 の両方が、MergeReducer が期待する同じ出力を書き込むようにしてください。

JobConf conf = new JobConf(Merge.class);
conf.setJobName("merge");

conf.setOutputKeyClass(IntWritable.class); 
conf.setOutputValueClass(Text.class); 
conf.setReducerClass(MergeReducer.class);
conf.setOutputFormat(TextOutputFormat.class);

MultipleInputs.addInputPath(conf, inputDir1, SequenceFileInputFormat.class, AnyMapper1.class);
MultipleInputs.addInputPath(conf, inputDir2, TextInputFormat.class, AnyMapper2.class);

FileOutputFormat.setOutputPath(conf, outputPath);
于 2014-05-12T22:09:34.553 に答える
0

カスタム書き込み可能を作成できます。同じものを Mapper に入力できます。その後、Reducer で書き込み可能なカスタム オブジェクトを取得し、必要なビジネス オペレーションを実行できます。

于 2014-05-12T15:01:55.327 に答える