算子优化 repartiton

本文探讨了如何使用repartition算子解决Spark SQL因低并行度导致的性能问题。介绍了`spark.sql.shuffle.partitions`和`spark.default.parallelism`参数对并行度的影响,并指出在Spark SQL的stage中并行度默认由Hive表的block数量决定,无法直接设置。建议在Spark SQL查询后使用repartition重新分区以提高并行度,从而改善处理速度。
摘要由CSDN通过智能技术生成
算子优化 repartiton


算子调优之使用repartition解决Spark SQL低并行度的性能问题
spark.sql.shuffle.partitions 调整DataFrame的shuffle并行度
spark.default.parallelism  调整RDD的shuffle并行度


并行度:之前说过,并行度是自己可以调节,或者说是设置的。
1、spark.default.parallelism
2、textFile(),传入第二个参数,指定partition数量(比较少用)


咱们的项目代码中,没有设置并行度,实际上,在生产环境中,是最好自己设置一下的。
官网有推荐的设置方式,你的spark-submit脚本中,会指定你的application总共要启动多少个executor,
100个;每个executor多少个cpu core,2~3个;总共application,有cpu core,200个。


官方推荐,根据你的application的总cpu core数量(在spark-submit中可以指定,200个),
自己手动设置spark.default.parallelism参数,指定为cpu core总数的2~3倍。400~600个并行度。600。


承上启下


你设置的这个并行度,在哪些情况下会生效?哪些情况下,不会生效?
如果你压根儿没有使
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值