本文共 367 字,大约阅读时间需要 1 分钟。
PROCESS_LOCAL:进程本地化,代码和数据在同一个进程中,也就是在同一个executor中;计算数据的task由executor执行,数据在executor的BlockManager中;性能最好(图1)
RACK_LOCAL:机架本地化,数据和task在一个机架的两个节点上;数据需要通过网络在节点之间进行传输(图2)
NODE_LOCAL:节点本地化,代码和数据在同一个节点中;比如说,数据作为一个HDFSblock块,就在节点上,而task在节点上某个executor中运行;或者是,数据和task在一个节点上的不同executor中;数据需要在进程间进行传输(图3)
ANY:数据和task可能在集群中的任何地方,而且不在一个机架中,性能最差(图4)
NO_PREF:对于task来说,数据从哪里获取都一样,没有好坏之分
转载地址:http://dfvmi.baihongyu.com/