从coalesce算子发散开的

coalesce算子,相当绕口的一个英文单词,来闭上眼睛回忆一下编程手册,咋说的来着?

coalesce(numPartitions):

    Decrease the number of partitions in the RDD to numPartitions. Useful for running operations more efficiently after filtering down a large dataset.

翻译一下:  把一个RDD的分区数降低到指定的分区个数(即numPartitions个),主要用途是在大数据集的过滤后,使得后续操作更加搞笑,啊,不是,是更加高效。解释一下:原始数据集非常的大,所以我们需要把原始数据集切的很细(partition个数非常多),这样就可以充分利用spark的分布式、高并发的特性,来加快数据的过滤。巴特,过滤完之后,可能数据集就非常小了,比如把10亿过滤成了1000条,以前10亿需要1000个partition并行处理来满足时间要求,但是1000条数据如果还是用1000个partition,那意味着神马?意味着资源的极大浪费!因为rdd的partition是和task对应的,一个partition就会启动一个task进行处理,1000条数据,1000个partition,1000个task,基本上一个task处理一条数据,那就真的是有点搞笑了。虽然在一个executor内,使用线程池来减少启动task的开销,但是浪费依然是存在的,这个ta

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值