Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/performance/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Performance 我应该把程序放在HDFS上吗?_Performance_Hadoop_Apache Spark_Hdfs - Fatal编程技术网

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

Performance 我应该把程序放在HDFS上吗?,performance,hadoop,apache-spark,hdfs,Performance,Hadoop,Apache Spark,Hdfs,我应该把程序放在HDFS上还是放在本地? 我说的是一个二进制文件,它是: 由spark submit发起 每日执行 在RDD/Dataframes上执行spark map reduce函数 这是一个罐子 重量20个月 处理大量数据,此数据位于HDFS上 我认为这是个坏主意,因为在HDFS上分发可执行文件可能会降低执行速度。我认为对于一个大于64 Mo Hadoop块大小的文件来说,这将是最糟糕的。然而,我没有找到关于这方面的资源。另外,我不知道内存管理的后果是:每个节点都会复制java堆来保存J

我应该把程序放在HDFS上还是放在本地? 我说的是一个二进制文件,它是:

由spark submit发起 每日执行 在RDD/Dataframes上执行spark map reduce函数 这是一个罐子 重量20个月 处理大量数据,此数据位于HDFS上
我认为这是个坏主意,因为在HDFS上分发可执行文件可能会降低执行速度。我认为对于一个大于64 Mo Hadoop块大小的文件来说,这将是最糟糕的。然而,我没有找到关于这方面的资源。另外,我不知道内存管理的后果是:每个节点都会复制java堆来保存JAR的副本吗?

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

这样做的主要原因是,如果有大量资源与作业关联,并且将它们作为本地资源提交会浪费网络带宽

请参阅幻灯片以更详细地了解性能影响:

幻灯片:
HDFS设计用于存储数据文件,而不是二进制可执行文件。你不应该为了这个目的而使用它。很好。如果没有缓存共享,性能会有什么影响?这取决于集群工作负载的饱和程度。对于Twitter及其大型集群来说,将作业罐分发到1000+秒的NM的成本是巨大的。