这是参加东软大数据实习的一份平时作业,图片内容来源于课件。
Spark工作流程简述
- 用户构建Spark Application的运行环境,启动SparkContext(上下文)
- 用户编写程序提交到Master上
- Master构建一个有向无环图(DAG)
- 根据DAG生成不同的TaskSet任务集
- Master上面的Task Scheduler会把任务集分配给若干个Worker节点
- worker节点会启动executor进程,从而执行不同的task
- worker节点执行完之后,将结果通过集群返回给master
- master显示给调用者(客户)
总体过程如下图:
注意点:
- 数据可以存储在HDFS(Hadoop分布式文件系统)上,在做transformmations时,不进行真的计算,只是在内存中形成有向无环图DAG;当调用Actions等操作时,才产生真正的计算,根据DAG回溯到最初的数据,开始计算得到结果写回HDFS。如下图所示:
- 具体的执行的过程会以包含INFO的形式打印出来,可以查看控制台输出,如下图,控制台中打印出了多条INFO信息,就是执行的详细过程。