Spark streaming 性能优化

1 使用kryo序列化

2 调整batch interval时间 默认时间是200ms 每接受一次实际上就是一份task 就会在一份patition上面运行,根据自己设置指定大小的interval 例如batch interval是200ms batch的时间长度是1s 那么就会划分出1s/200ms==》五份patition 也就是五个并行度 最好并行度是core的2-3倍

3 spark.rdd.compress 可以进一步对数据压缩减少内存使用量

4 streamingcontext.remember() 可以尝试保留窗口时间之外的数据 例如窗口时间是1分钟 那么1分钟前之前的数据也可以保留

5 设置cms垃圾收集器

在spark-sumbit 的 -driver-java-options 

spark-executor.extraJavaOptions设置 XX:+UserConcMarkSweepGC

6 提升接受并行度 使用多个Receiver 例如两个topic 使用两个Receiver 再做Union操作

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值