Javaでマッパーはどのように使用されていますか。

Javaにおいて、「Mapper」とは一般的に、入力データを一組のキーバリューペアに変換するために使われるコンポーネントを指す。具体的には、HadoopのMapReduceフレームワークにおいて、

Mapperとは、Mapフェーズを処理するためのクラスです。Mapperを使用するための一般的なステップを以下に示します。

org.apache.hadoop.mapreduce.Mapper インタフェースを実装したクラスを作成し、その map() メソッドをオーバーライドします。

mapメソッドの中で、入力データを処理して、キーバリューペアのセットを出力するロジックを書く。

map()メソッド内でcontext.write(key, value)を使って生成したキーバリューペアを出力します。

メインプログラムで MapReduce ジョブを構成して実行する。

Mapperの使用方法をJavaで示す簡単な例を次に示します:

import org.apache.hadoop.io.LongWritable;

import org.apache.hadoop.io.Text;

import org.apache.hadoop.mapreduce.Mapper;

import java.io.IOException;

public class MyMapper extends Mapper<LongWritable, Text, Text, IntWritable> {

private final static IntWritable one = new IntWritable(1);

private Text word = new Text();

@Override

protected void map(LongWritable key, Text value, Context context) throws IOException, InterruptedException {

String line = value.toString();

String[] words = line.split(” “);

for (String word : words) {

this.word.set(word);

context.write(this.word, one);

}

}

}


このサンプルでは、「MyMapper」というMapperクラスを継承し、「map」メソッドを実装する「MyMapper」というクラスを作成しました。「map」メソッドでは、入力行を単語に分け、単語と1をキーと値のペアで出力します。この場合、キーは単語型のTextで、値はIntWritable型の1です。

もちろん、実際の利用方法は適用するシーンやフレームワークにも依存します。Hadoop MapReduce フレームワークを前提にした例をご案内いたしました。他のフレームワークやライブラリをご利用いただく場合には、それに応じたドキュメントやサンプルコードをご参照ください。

广告
広告は10秒後に閉じます。
bannerAds