spark工作机制?
-
用户在client端提交作业后,会由Driver运行main方法并创建spark context上下文。 执行add算子,形成dag图输入dagscheduler,按照add之间的依赖关系划分stage输入task scheduler。 task scheduler会将stage划分为task set分发到各个节点的executor中执行。
spark的优化怎么做? 通过spark-env文件、程序中sparkconf和set property设置。 (1)计算量大,形成的lineage过大应该给已经缓存了的rdd添加checkpoint,以减少容错带来的开销。 (2)小分区合并,过小的分区造成过多的切换任务开销,使用repartition。