【问题标题】:Why is Spark sending all tasks to two executors?为什么 Spark 将所有任务发送给两个执行器?
【发布时间】:2019-02-27 18:09:53
【问题描述】:

这里是情况的图片:

我的代码:

rdd = spark.read.format("avro").load(paths).rdd.repartition(160).flatMap(parse_source_data).repartition(20)

parse_source_data 是一个昂贵的 Python 函数,它映射到所有数据。正如预期的那样,我看到了 160 个总任务。 Spark 声称正如预期的那样,有 80 个同时运行。但实际上,所有任务似乎都由两个执行者运行。

有人有什么想法吗?

【问题讨论】:

  • 你是如何提交工作的?

标签: apache-spark pyspark


【解决方案1】:

我正在为工人创建一个 SparkContext。这阻止了工人被用于实际工作。

猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-02-28
  • 1970-01-01
  • 2020-08-02
相关资源
最近更新 更多