spark程序性能优化--合并文件

背景:把总量3T的文件和40G的文件合并按key合并,把3T中40G有的记录换成40G的,40G中3T没有的加上。原先是按其中一个数据域经过hash,把数据分成3个part进行处理,大概每个半小时,3个任务1.5小时处理完(之前3T的数据总量大约1.2T)。但随着数据增加,每个部分数据变为了1T,并且数据长度增长,原先半小时的任务跑2个小时都跑不完,进行优化。

(1)读入优化:对每条记录用split,对长记录来说太慢,换成indexOf找到分隔符第一次出现的位置,根据index分割那想要的part,效率高了10+倍

(2)repartition

问题:

解决:

(1)试验把repartition前面有一个reduceByKey去掉,只剩下repartition,其实速度很快,慢就慢在reduceByKey上

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值