Java 在位于同一台计算机上的所有地图任务之间共享数据
在同一台机器上运行的所有映射任务都可以从共享内存中获益,但如何受益呢? 更具体地说,我想在所有位于同一台机器上的映射任务之间共享一个哈希表。我的问题是什么是最好的方法?我尝试了JavaRMI,但它的性能对我来说是不可接受的。 如有任何建议,将不胜感激Java 在位于同一台计算机上的所有地图任务之间共享数据,java,mapreduce,share,Java,Mapreduce,Share,在同一台机器上运行的所有映射任务都可以从共享内存中获益,但如何受益呢? 更具体地说,我想在所有位于同一台机器上的映射任务之间共享一个哈希表。我的问题是什么是最好的方法?我尝试了JavaRMI,但它的性能对我来说是不可接受的。 如有任何建议,将不胜感激 非常感谢。如果您使用的是hadoop,您可以在一台机器上配置map节点和reduce节点 如上所述,您需要共享一个哈希表。据我所知,您可能需要将此哈希表转换为hadoop可识别的格式,然后编写映射并减少任务,最后执行一些单节点运行配置,hadoop
非常感谢。如果您使用的是
hadoop
,您可以在一台机器上配置map节点和reduce节点
如上所述,您需要共享一个哈希表。据我所知,您可能需要将此哈希表转换为hadoop
可识别的格式,然后编写映射并减少任务,最后执行一些单节点运行配置,hadoop
将完成此工作
这里不是hadoop的专家,只是我的理解
另一方面,您可以使用线程来处理此问题。谢谢您的回复,但我不想在map和reduce任务之间共享数据。我只想在驻留在同一台机器上的映射任务之间共享哈希表。此外,我不能使用线程,因为映射任务是在不同的JVM上执行的,我知道。