Spark中数据的本地化常用方式分为5种
1、PROCESS_LOCAL : 进程本地化,指task计算的数据在本进程(Executor)中
2、NODE_LOCAL:节点本地化,指task计算的数据在本节点(node)的磁盘上,当task在本进程中一直没有执行(如果Driver分发task 3s后没有执行,且重复5次后),此时Driver就把这个没有执行的task发送到本节点的其他executor中执行
3、NO_PREF:没有本地化这一说,无需本地化,如计算所需的数据在关系型数据中(MySQL或Oracle),node1节点中的MySQL,可以被node2或node3节点连接使用。
4、RACK_LOCAL:task计算的数据是在本机架的其他节点上
5、ANY:随机,任何地方都可以
优先级依次是1到5,逐渐降低
参考 http://www.cnblogs.com/haozhengfei/p/65d3fa8fa3ba8c425ed448e8801fdb42.html