【发布时间】:2013-05-31 06:43:06
【问题描述】:
我有以下 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 中做到这一点?
【问题讨论】:
标签: java json hadoop mapreduce reducers