Spark Accumlator 解析
问题:
- Accumlator 的更新粒度是 Task 级别,还是什么粒度?
- Task 失败时的累加器信息,是否仍会更新,出现重复的情况?
- Action 中的累加器如何保证只执行一次?
- Transform 中的累加器是否有办法解决重算时多次更新的问题?
问题:
https://community.cloudera.com/t5/Community-Articles/Starting-Spark-jobs-directly-via-YARN-REST-API/ta-p/245998 这篇文章是Spark 1.6, 已经过时,只能作为基本的参考,具体还是要阅读Spark on Yarn的提交代码。
- 本文基于 Spark 2.4.8 和 Hadoop 3.2 进行验证。
将 Spark 作业提交到 Yarn上时,只能通过命令行 spark-submit 进行操作,本文通过解析 spark-submit 的源码,探究如何使用 Yarn Rest API 进行提交 Spark 作业(仅 cluster 模式,因 client 模式 driver 运行在 client 中而不是 AM 中)。
一句话总结:还是用命令行调用spark-submit
!