数据本地化对于Spark Job性能有着巨大的影响,如果数据以及要计算它的代码是在一起的,那么性能当然会非常高.但是,如果数据和计算它的代码是分开的,那么其中之一必须到另外一方的机器上.移动代码到其匹配的数据节点,会比移动大量数据到代码所在的节点上去,速度要快得多,因为代码比较小.Spark也正是基于这个数据本地化的原则来构建task调度算法. 数据本地化,是指数据离计算它的代码距离有多近,有几种数据本地化级别: 1.PROCESS_LOCAL:数据和计算它的代码在同一个JVM进程中,对应spa…