关于pyspark的collect

collect是pyspark中可以将rdd转换为list的转换操作,虽然很好用,但也需要注意,不是可以随心所欲地用的。

collect的读取相当于从所有分布式机器上把数据拉下来放在本地展示:

这个操作一方面把分布式变成了单机操作,失去了分布式的意义;

另一方面就是存放本地会消耗相当一部分的内存;当rdd很大时,内存溢出会直接导致程序卡死。

所以如果只想看看数据格式,用take取样就可以了。

但如果一定要做相关执行,可以把rdd中需要处理的数据部分用map提出来,再collect(),一定程度上减少内存的使用,不要一股脑地collect。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值