我应该把程序放在HDFS上吗?

时间:2018-02-19 09:36:49

标签: performance hadoop apache-spark hdfs

我是否将程序放在HDFS上或将它们保存在本地? 我说的是二进制文件:

  • 由spark-submit发起
  • 每日执行
  • 在RDD / Dataframes上执行spark map reduce功能
  • 是JAR
  • 重量20 Mo
  • 处理大量数据,此dfata位于HDFS上

我认为这是一个坏主意,因为在HDFS上分发可执行文件可能会降低执行速度。我认为对于大于64 Mo(Hadoop块大小)的文件来说甚至会更糟。但是,我没有找到关于此的资源。另外,我不知道内存管理的后果(是否为每个拥有JAR副本的节点复制了java堆?)

1 个答案:

答案 0 :(得分:1)

是的,这正是YARN共享缓存背后的概念。

执行此操作的主要原因是,如果您将大量资源绑定到作业,并将其作为本地资源提交,则会浪费网络带宽。

请参阅Slideshare以更详细地了解性能影响: