在具有默认配置的EMR群集模式下会发生什么?

时间:2019-05-25 13:04:13

标签: amazon-web-services apache-spark hadoop yarn amazon-emr

我正在运行具有以下阶段和配置的Spark应用程序

阶段:

        dstream.map(record => transformRecord).map(result => result._1).flatMap(rd => rd).foreacRDD(rdd => { rdd.toDF; df.save() })

配置:   在纱簇模式下,1个主节点和2个核心节点。所有其他spark属性均为默认设置,默认为2个spark执行程序,4个spark执行程序核心,内存为2g

用例:

使用来自消息代理的json记录流,对其进行转换,并将其持久保存到数据库中

问题:

  1. 在执行spark-submit时使用此配置-我看到只有一个spark执行器正在使用记录并对其进行处理。另一个就像一个调度程序。为什么会这样呢?

  2. 从某种意义上说,如何增加并行处理会消耗更多记录并单独执行它们? (执行人员数量的增加是否会有所不同)

  3. 火花执行器和纱线上火花的并行性之间有什么关系?

1 个答案:

答案 0 :(得分:0)

阅读多个博客后尝试了几件事,

答案:

  1. 第一个映射阶段由来自kafka / kinesis的火花接收器线程支持。因此,他们侦听一个分片和一个线程,创建多个dstream以提高读取并行度。

仍然没有找到答案。