【问题标题】:First stage of action in Spark ran by only one executorSpark 中的第一阶段行动仅由一个执行者运行
【发布时间】:2021-03-13 04:46:15
【问题描述】:

我有一个 Spark 程序,以 YARN 作为主机运行,并在客户端模式下运行 3 个执行程序
通过连接器从 ElasticSearch 读取数据,我可以将它们加载到数据框中。 这样的数据帧使用df = df.repartition(3)在三个分区中重新分区。
每当我尝试执行诸如count() 或show() 之类的操作时,第一阶段,从这个线程:Why spark count action has executed in three stages 我理解它是关于读取文件,只有一个任务,它由一个执行程序运行.
此阶段是否预期此行为?我不应该能够与分配的所有执行程序并行运行此阶段吗?

【问题讨论】:

    标签: apache-spark pyspark hadoop-yarn


    【解决方案1】:

    这取决于您的数据的复制。 如果您的数据在更多数据节点上复制,您可能会有更多能够读取的执行器。

    【讨论】:

    • 由于我是 spark 新手,您能否详细介绍一下。我在一个带有一个 Datanode 的伪分布式模式下在单个节点上运行 YARN,但是多个执行程序应该能够使用repartition() 从数据中读取数据,对吗?即使它是单个数据节点。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-06-30
    • 1970-01-01
    • 2017-09-27
    • 2014-03-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多