【问题标题】:What happens in EMR cluster mode with default configuration?在默认配置的 EMR 集群模式下会发生什么?
【发布时间】: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 记录流,转换它们,将它们持久化到数据库中

问题:

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

  2. 如何在某种意义上增加并行处理消耗更多记录并单独执行它们? (增加执行者的数量会有什么不同吗)

  3. spark executors 和 spark on yarn 的并行度是什么关系?

【问题讨论】:

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


    【解决方案1】:

    看了多篇博客尝试了一些东西,

    答案:

    1. 第一个地图阶段由来自 kafka/kinesis 的 spark 接收器线程支持。所以他们在一个分片和一个线程上监听,创建多个 dstream 来增加读取并行度。

    剩下的我还没有弄清楚。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2018-09-27
      • 2018-04-03
      • 1970-01-01
      • 2018-01-12
      • 1970-01-01
      • 1970-01-01
      • 2022-11-19
      • 2018-06-20
      相关资源
      最近更新 更多