在Spark Application Web UI的 Stages tag 上,tasks 的一些信息,其中 Locality Level 一栏的值可以有
-
PROCESS_LOCAL
: 数据在同一个 JVM 中,即同一个 executor 上。这是最佳数据 locality。 -
NODE_LOCAL
: 数据在同一个节点上。比如数据在同一个节点的另一个 executor上;或在 HDFS 上,恰好有 block 在同一个节点上。速度比 PROCESS_LOCAL 稍慢,因为数据需要在不同进程之间传递或从文件中读取 -
NO_PREF
: 数据从哪里访问都一样快,不需要位置优先 -
RACK_LOCAL
: 数据在同一机架的不同节点上。需要通过网络传输数据及文件 IO,比 NODE_LOCAL 慢 -
ANY
: 数据在非同一机架的网络上,速度最慢
locality 说明:https://www.jianshu.com/p/05034a9c8cae/
源码解读:https://blog.csdn.net/high2011/article/details/80705393