什么是HDFS数据位置?

时间:2018-02-11 06:52:07

标签: apache-spark hdfs

当我们谈论数据局部性时,无论是MR还是Spark。我有点困惑,数据局部性是指从本地机器直接从OS读取数据(使用本地文件读取协议)还是仅基于HDFS协议从本地访问数据?

1 个答案:

答案 0 :(得分:0)

一个非常基本的问题,我们都能正确理解。

在Spark中,RDD的五个特征之一是“可选地,计算每个分割的首选位置列表(例如HDFS文件的块位置)”(参见{{3 API scaladoc)。

每当DAGScheduler计划执行Spark作业的任务时,它都会遍历首选位置列表并尝试向该计算节点“下订单”运行Spark执行程序。如果成功,计算尽可能接近其所需的数据。

这样做的好处是,计算不是移动数据(由于网络带宽和数据大小,这将更加昂贵)。