Spark并行度原理
以 Spark 中的 WordCount 作业为例,每个Spark作业其实都是一个 Application,每个 Application 对应多个 Jobs,一个 action 操作(比如 collect)触发一个 job,在WordCount程序中有一个 job,每个 job 拆成多个 stage(发生 shuffle 的时候回拆分出一个 stage),reduceByKey 处会发生 shuffle。
reduceByKey 这里,相当于 stage0 的task在最后执行到 reduceByKey 的时候会为每个 stage1 的task都创建一份文件(也可能是合并在少量的文件里面),每个 stage1 的 task会去各个节点上的各个 task 创建的属于自己的那一份文件里面拉取数据,每个 stage1 的 task 拉取到的数据一定