开发者社区> 问答> 正文

Spark执行流程的过程要怎么描述?

Spark执行流程的过程要怎么描述?

展开
收起
游客fbdr25iajcjto 2021-12-06 22:06:17 591 0
1 条回答
写回答
取消 提交回答
  • 过程描述:

    1.通过Shell脚本启动Master,Master类继承Actor类,通过ActorySystem创建并启动。

    2.通过Shell脚本启动Worker,Worker类继承Actor类,通过ActorySystem创建并启动。

    3.Worker通过Akka或者Netty发送消息向Master注册并汇报自己的资源信息(内存以及CPU核数等),以后就是定时汇报,保持心跳。

    4.Master接受消息后保存(源码中通过持久化引擎持久化)并发送消息表示Worker注册成功,并且定时调度,移除超时的Worker。

    5.通过Spark-Submit提交作业或者通过Spark Shell脚本连接集群,都会启动一个Spark进程Driver。

    6.Master拿到作业后根据资源筛选Worker并与Worker通信,发送信息,主要包含Driver的地址等。

    7.Worker进行收到消息后,启动Executor,Executor与Driver通信。

    8.Driver端计算作业资源,transformation在Driver 端完成,划分各个Stage后提交Task给Executor。

    9.Exectuor针对于每一个Task读取HDFS文件,然后计算结果,最后将计算的最终结果聚合到Driver端或者写入到持久化组件中。

    2021-12-06 22:06:57
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
Hybrid Cloud and Apache Spark 立即下载
Scalable Deep Learning on Spark 立即下载
Comparison of Spark SQL with Hive 立即下载