Spark Streaming 调优指南
来源:互联网 发布:windows正版验证 编辑:程序博客网 时间:2024/05/22 03:02
SparkStreaming是架构在SparkCore上的一个“应用”,SparkStreaming主要由DStreamGraph、Job的生成、数据的接收和导入以及容错四大模块组成,我们今天就从这四大模块入手,看看每个模块都有什么样的调优方式
1 DStreamGraph
其实这部分主要是算子的使用优化,这个跟Spark调优的内容是相同,在这一部分可以优化的内容有
- 重复使用的rdd进行cache
- 使用高性能的算子代替性能差的算子
- reduceByKey\aggregateByKey代替groupByKey
- 使用mappartition代替map
- 使用foreachpartition代替foreach
- 使用Kryo序列化代替Java序列化
- filter之后使用coalesce减少小任务
2 Job的生成
这一部分主要涉及到的调优是batchInternal的调整,为了程序不延迟地执行,合理的batchInternal是必要的
3 数据的接收和导入
这一部分主要是针对数据的接受速度进行调优,如果接收速度大于处理数据,那么程序会走向无限延迟最后崩溃的道路,所以主要的调优在于限速
对于receiver和direct approach 方式都通用的
spark.streaming.backpressure.enabled=true; sparkstreaming框架会自动地计算处理速度来控制数据的接受速度,建议开启- receiver方式
- spark.streaming.receiver.maxRate 来进行限速
- spark.streaming.blockInternal 设置缓存在内存块的大小,防止内存被撑爆
- direct approach方式
- spark.streaming.kafka.maxRatePartition来对每个分区进行限速
4 容错
主要是数据的容错方式选择
- 热备:默认开启数据备份数为2
- 冷备:开启WAL,将log保存到HDFS上,executor挂掉后可以从hdfs上进行数据的恢复
- 重放:对于数据源本身支持重放有效,如Kafka,失效后可以通过offset值进行恢复
阅读全文
0 0
- Spark Streaming 调优指南
- Spark Streaming 调优指南
- Spark Streaming 调优指南
- Spark Streaming编程指南
- Spark Streaming新手指南
- Spark Streaming编程指南
- Spark Streaming编程指南
- Spark Streaming编程指南
- Spark-Streaming编程指南
- Spark Streaming-1:Spark Streaming编程指南
- Spark Streaming:性能调优
- Spark Streaming:性能调优
- Spark Streaming + Kafka整合指南
- <转>Spark Streaming编程指南
- Spark Streaming + Kafka集成指南
- pyspark-Spark Streaming编程指南
- Spark2.1.0文档:Spark Streaming 编程指南(下)-性能调优和容错语义
- [置顶] Spark2.1.0文档:Spark Streaming 编程指南(下)-性能调优和容错语义
- Java中for each与正常for循环效率对比
- web项目部署到Tomcat
- 在线支付介绍
- Unity10--炮台发射子弹程序、Transform维护父子关系
- isMemberOfClass & isKindOfClass区别
- Spark Streaming 调优指南
- 用read命令来获取变量中的值
- sc2017新高二&高一模拟赛6 总结
- Google算法题:E-二分查找
- as86汇编程序的编译与链接
- 【Java进阶】实现自己的ORM框架
- 进程 线程
- 微分享-快速高效的从一个list转化到另一个list
- Detecting Skin in Images & Video Using Python and OpenCV皮肤检测