我有以下 Reducer 类
public static class TokenCounterReducer extends Reducer<Text, Text, Text, Text> {
public void reduce(Text key, Iterable<Text> values, Context context)
throws IOException, InterruptedException {
JSONObject jsn = new JSONObject();
for (Text value : values) {
String[] vals = value.toString().split("\t");
String[] targetNodes = vals[0].toString().split(",",-1);
jsn.put("source",vals[1] );
jsn.put("target",targetNodes);
}
// context.write(key, new Text(sum));
}
}
通过示例(免责声明:此处为新手),我可以看到一般输出类型似乎就像键/值存储。
但是如果我在输出中没有任何键怎么办?或者如果我的输出是其他格式(在我的情况下为 json),我想怎么办?
无论如何,从上面的代码:我想将json
对象写入 HDFS?
这在 Hadoop 流中非常简单。但是我如何在 Hadoop java 中做到这一点?