我的映射器需要发送以下元组:
<custID,prodID,rate>
我想将 custID 作为键发送到 reducer,并将 prodID 和 rate 作为值一起发送,因为它们是 reduce 阶段所需要的。这样做的最佳方法是什么?
public void map(Object key, Text value, Context context)
throws IOException, InterruptedException {
String[] col = value.toString().split(",");
custID.set(col[0]);
data.set(col[1] + "," + col[2]);
context.write(custID, data);
}
public void reduce(Text key, Iterable<Text> values, Context context)
throws IOException, InterruptedException {
for (Text val : values) {
String[] temp = val.toString().split(",");
Text rate = new Text(temp[1]);
result.set(rate);
context.write(key, result);
}
}