我从hadoop中了解到的
每当我向hadoop集群提交代码时:
hadoop map
执行函数并将计算属性分配给数据节点
我的 map
函数在本地数据的每个节点上执行
我的 reduce
函数在每个节点上执行
一旦一个节点完成了它的任务,它就会将结果发送回主节点
hadoop reduce
执行函数并聚合结果。
问题本身
假设前面描述的步骤是正确的,那么要改变步骤2的要求是什么:
public void map(Args args) {
for(Arg arg : args)
someCalculations(arg);
}
对此:
public void map(Args args) {
executeOtherSofwareAndFetchResultst(args);
}
例如,其他软件是否需要hdfs兼容性?
1条答案
按热度按时间xdnvmnnf1#
Map器的行为就像一个普通的java示例。您可以在mapper中对普通java程序执行任何操作。将它视为另一个java示例,只要将数据导入Map器,就不需要任何与hdfs兼容的软件,因为Map器处理它,而不是其中的逻辑。