如何在Hadoop Reducer中创建新的、唯一的密钥
在Hadoop Reducer中,我希望在特定条件下创建并发出新键,并且我希望确保这些键是唯一的 我想要的伪代码如下所示:如何在Hadoop Reducer中创建新的、唯一的密钥,hadoop,mapreduce,Hadoop,Mapreduce,在Hadoop Reducer中,我希望在特定条件下创建并发出新键,并且我希望确保这些键是唯一的 我想要的伪代码如下所示: @Override protected void reduce(WritableComparable key, Iterable<Writable> values, Context context) throws IOException, InterruptedException { // do stuf
@Override
protected void reduce(WritableComparable key, Iterable<Writable> values, Context context)
throws IOException, InterruptedException {
// do stuff:
// ...
// write original key:
context.write(key, data);
// write extra key:
if (someConditionIsMet) {
WritableComparable extraKey = createNewKey()
context.write(extraKey, moreData);
}
}
@覆盖
受保护的void reduce(可写可比键、可写值、上下文)
抛出IOException、InterruptedException{
//做事:
// ...
//写入原始密钥:
编写(键、数据);
//写入额外密钥:
if(someConditionIsMet){
WritableComparable extraKey=createNewKey()
write(extraKey,moreData);
}
}
所以我现在有两个问题:
Context.gettaskattentid()
方法获取此信息,然后使用TaskAttemptID.getTaskID().getId()提取reducer ID号