我应该将程序放在HDFS上还是保留在本地?
我说的是一个二进制文件:
我认为这是个坏主意,因为在HDFS上分发可执行文件可能会减慢执行速度。我认为对于大于64 Mo(Hadoop块大小)的文件,甚至会更糟。但是,我没有找到有关此资源。另外,我不知道有关内存管理的后果(是否为持有JAR副本的每个节点复制了Java堆?)
最佳答案
是的,这正是YARN共享缓存背后的概念。
这样做的主要原因是,如果您有大量的资源与作业相关联,并且将其提交为本地资源会浪费网络带宽。
请参阅Slideshare以更详细地了解性能影响:
关于performance - 我应该在HDFS上放置程序吗?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/48863143/