【发布时间】:2019-10-11 18:58:00
【问题描述】:
我正在亚马逊 emr 上运行具有以下阶段和配置的 spark 应用程序
阶段:
dstream.map(record => transformRecord).map(result => result._1).flatMap(rd => rd).foreacRDD(rdd => { rdd.toDF; df.save() })
配置: 1个主节点,2个核心节点,纱线集群模式。所有其他 spark 属性都是默认的,默认 2 个 spark executors,4 个 spark executor cores,内存为 2g
用例:
使用来自消息代理的 json 记录流,转换它们,将它们持久化到数据库中
问题:
在执行 spark-submit 时使用此配置 - 我看到只有一个 spark 执行器正在使用记录并处理它们。另一个就像一些调度程序一样。为什么会这样?
如何在某种意义上增加并行处理消耗更多记录并单独执行它们? (增加执行者的数量会有什么不同吗)
spark executors 和 spark on yarn 的并行度是什么关系?
【问题讨论】:
标签: amazon-web-services apache-spark hadoop hadoop-yarn amazon-emr