当需要处理的数据量超过了单机尺度(比如我们的计算机有4GB的内存,而我们需要处理100GB以上的数据)这时我们可以选择spark集群进行计算,有时我们可能需要处理的数据量并不大,但是计算很复杂,需要大量的时间,这时我们也可以选择利用spark集群强大的计算资源,并行化地计算
基本概念:RDD、DAG、Executor、Application、Task、Job、Stage
有两类shuffle map stage和result stage: shuffle map stage:case its tasks’ results are input for other stage(s) result stage:case its tasks directly compute a Spark action (e.g. count(), save(), etc) by running a function on an RDD,输入与结果间划分stage
action触发一个job (task对应在一个partition上的数据处理流程) ------stage1(多个tasks 有相同的shuffle依赖)------【map–shuffle】------- stage2---- 【result–shuffle】-----