Spark中,数据的本地化方式分为五种
PROCESS_LOCAL : 进程本地化 , task计算的数据在当前Executor中 不同task计算的时候可以共同用这一个数据集,效率高,节省资源
NODE_LOCAL : 节点本地化 , task计算的数据在当前节点上,task计算的时候不需要跨节点拉取数据,速度也是比较快的
NO_PREF : 没有本地化 ,这个方式的意思就是数据不是本地化的数据 比如我们的的MySQL数据库 如果我们需要的数据在MySQL中 就不牵扯到数据本地化的这个说法
RACK_LOCAL : task 计算所需要的数据在同机架不同节点上, 这种方式中,task计算的数据在不同节点上,就牵扯到网络传输的问题了 ,效率就没有那么高了
ANY : 这种方式就是比较随意的,可能会牵扯到跨机架的数据传输,效率最低
默认的优先级是从上到下 依次降低
/----第一次写博客,自己的见解,参考一些其他的见解,如有偏差,请指出----/