对于包含 repartition() 的 Spark 作业,“尚未开始任何任务”

问题描述 投票:0回答:1

在为 pyspark 作业“尚未开始任何任务”而摸不着头脑一段时间后,问题已被隔离为:

作品:

ssc = HiveContext(sc)
sqlRdd = ssc.sql(someSql)
sqlRdd.collect()

添加 repartition() 并挂起“尚未启动任何任务”:

ssc = HiveContext(sc)
sqlRdd = ssc.sql(someSql).repartition(2)
sqlRdd.collect()

这是与 CDH5 捆绑在一起的 1.2.0 版本

apache-spark pyspark
1个回答
0
投票

这可能是根本原因之一,但遇到了类似的问题,根据 Spark UI 分析,该问题被确定是由倾斜数据引起的。

这是由 broadcast join 处理的。

df1.join(df2.broadcast(), "join_column")
© www.soinside.com 2019 - 2024. All rights reserved.