spark进行map,join分worker数少的一些问题

1、fullouterjoin导致的分配worker少:

一开始

spark进行map,join分worker数少的一些问题_第1张图片

然后加coalesce(1000)

spark进行map,join分worker数少的一些问题_第2张图片

还是用的worker很少

然后调整join顺序,之前是(小数据)fullouterjoin(大数据),把大小数据顺序调换,worker多了,执行变快

spark进行map,join分worker数少的一些问题_第3张图片

最后结果

spark进行map,join分worker数少的一些问题_第4张图片

ps:

改变join时spark shuffle用的worker数

--conf spark.sql.shuffle.partitions=1000 这个参数默认200

2、flatmap导致的分配worker少:flatmap(...).saveAsTextFile()  改为 flatmap(...).coalesce(1000).saveAsTextFile()

spark进行map,join分worker数少的一些问题_第5张图片

3、一个问题,为什么失败的job也一直占着资源?

spark进行map,join分worker数少的一些问题_第6张图片

你可能感兴趣的:(大数据,spark)