在为 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 版本
这可能是根本原因之一,但遇到了类似的问题,根据 Spark UI 分析,该问题被确定是由倾斜数据引起的。
这是由 broadcast join 处理的。
df1.join(df2.broadcast(), "join_column")