Apache Spark 是专为大规模数据处理而设计的快速通用的计算引擎,拥有Hadoop MapReduce所具有的优点;但不同于MapReduce的是——Job中间输出结果可以保存在内存中,从而不再需要读写HDFS,因此Spark能更好地适用于数据挖掘与机器学习等需要迭代的MapReduce的算法,不过spark on yarn的集群部署模式不支持http的方式提交任务,所以需要通过远程docker容器通过docker发送spark-submit的指令到spark容器内部,才可在springboot项目中远程开启任务
spark-submit在服务端的调用流程如下:
spark-on-yarn模式远程提交docker指令流程如下