apachehadoop的设计灵感来自googlemapreduce。mapreduce的流程可以看作是两组simd(单指令多数据),一个用于mapper,另一个用于reducer。还原器通过预定义的“键”消耗Map器的输出。mapreduce框架(和hadoop)的本质是自动划分数据、确定分区和并行作业的数量以及管理分布式资源。
我有一个并行运行的通用算法(不一定是可Map的)。我不是用mapreduce的方式实现算法本身。相反,该算法只是一个单机python/java程序。我想并行运行这个程序的64个副本(假设程序中没有并发问题)。i、 我对hadoop集群中的计算资源比mapreduce框架更感兴趣。我是否可以用这种旧的方式使用hadoop集群?
1条答案
按热度按时间y3bcpkx11#
关于mapreduce的另一种思考方式是mr进行转换,reduce进行某种聚合。
hadoop还允许只Map作业。这样就可以并行运行64个map程序副本。
hadoop有插槽的概念。默认情况下,每个节点/机器将有2个map和2个reduce插槽。因此,对于64个并行进程,需要32个节点。如果节点是高端配置,那么每个节点的m/r插槽数量也可以增加。