読む
を使用する場合はorg.apache.hadoop.mapreduce.lib.input.TextInputFormat
、 で単に aString#split
を使用できますMapper
。
@Override
public void map(LongWritable key, Text value, Context context) throws IOException, InterruptedException {
String[] keyValue = value.toString().split("-");
// would emit John -> 23 as a text
context.write(new Text(keyValue[0]), new Text(keyValue[1]));
}
書き込み
そのように出力する場合:
Text key = new Text("John");
LongWritable value = new LongWritable(23);
// of course key and value can come from the reduce method itself,
// I just want to illustrate the types
context.write(key, value);
はい、TextOutputFormat
あなたの望むフォーマットでそれを書いてくれます:
John-23
Hadoop 2.x (YARN) で遭遇し、ここで既に回答した唯一のトラップは、プロパティの名前が に変更されたことmapreduce.output.textoutputformat.separator
です。