spark笔记

Spark的api运算函数分为两大类,Transformation和Action:Transformations是lazy evaluation的,调用他们只会被记录而不会被真正执行,只有遇到Actions,之前的Transformations才会被依次执行,这样的Delay Scheduling,Spark可以看到完整的计算流程图(以DAG有向无环图的形式表示),从而做更多的优化,Actions会返回结果给Driver或者保存结果到external storages。Spark的基本工作流程是,用户提交程序给cluster,用户的main函数会在Driver上面运行,根据用户的程序Spark会产生很多的Jobs,原则是遇到一个Action就产生一个Job,以DAG图的方式记录RDD之间的依赖关系,每一个Job又会根据这些依赖关系被DAGScheduler分成不同的Stages,每一个Stage是一个TaskSet,以TaskSet为单位,TaskScheduler通过Cluster Manager一批一批地调度到不同node上运行,同一个TaskSet里面的Task都做同样的运算,一个Partition对应一个Task。

原文地址:https://www.cnblogs.com/cenglinjinran/p/8327707.html