为什么Spark将所有任务发送给两个执行者?

时间:2019-02-27 18:09:53

标签: apache-spark pyspark

这是情况的图片:

enter image description here

我的代码:

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

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

有人有什么想法吗?

1 个答案:

答案 0 :(得分:0)

我正在工人上创建一个SparkContext。这使工人无法从事实际工作。