【发布时间】:2018-02-11 16:03:36
【问题描述】:
当我们谈论数据本地化时,无论是 MR 还是 Spark。我有点困惑,数据局部性是指直接从操作系统读取本地机器的数据(使用本地文件读取协议)还是仅仅基于HDFS协议从本地访问数据?
【问题讨论】:
标签: apache-spark hdfs
当我们谈论数据本地化时,无论是 MR 还是 Spark。我有点困惑,数据局部性是指直接从操作系统读取本地机器的数据(使用本地文件读取协议)还是仅仅基于HDFS协议从本地访问数据?
【问题讨论】:
标签: apache-spark hdfs
一个非常基本的问题,如果我们都能正确理解就好了。
在 Spark 中,RDD 的五个特征之一是“可选地,计算每个拆分的首选位置列表(例如 HDFS 文件的块位置)”(参见 RDD API scaladoc)。
每当DAGScheduler 为 Spark 作业安排任务执行时,它都会遍历首选位置列表并尝试“下订单”到运行 Spark 执行器的计算节点。如果成功,则计算尽可能接近所需的数据。
这带来的优势是计算而不是移动数据(由于网络带宽和数据大小,这将更加昂贵)。
【讨论】: