Spark Streaming 调优指南
2017-08-19 21:39
225 查看
SparkStreaming是架构在SparkCore上的一个“应用”,SparkStreaming主要由DStreamGraph、Job的生成、数据的接收和导入以及容错四大模块组成,我们今天就从这四大模块入手,看看每个模块都有什么样的调优方式
重复使用的rdd进行cache
使用高性能的算子代替性能差的算子
reduceByKey\aggregateByKey代替groupByKey
使用mappartition代替map
使用foreachpartition代替foreach
使用Kryo序列化代替Java序列化
filter之后使用coalesce减少小任务
对于receiver和direct approach 方式都通用的
spark.streaming.backpressure.enabled=true; sparkstreaming框架会自动地计算处理速度来控制数据的接受速度,建议开启
receiver方式
spark.streaming.receiver.maxRate 来进行限速
spark.streaming.blockInternal 设置缓存在内存块的大小,防止内存被撑爆
direct approach方式
spark.streaming.kafka.maxRatePartition来对每个分区进行限速
热备:默认开启数据备份数为2
冷备:开启WAL,将log保存到HDFS上,executor挂掉后可以从hdfs上进行数据的恢复
重放:对于数据源本身支持重放有效,如Kafka,失效后可以通过offset值进行恢复
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值进行恢复
相关文章推荐
- Spark Streaming 调优指南
- Spark Streaming和Kafka整合开发指南
- [Spark]Spark Streaming 指南四 输入DStreams和Receivers
- Spark-Streaming编程指南
- spark调优(五)【Cigna优化Spark Streaming实时处理应用】
- Spark Streaming-1:Spark Streaming编程指南
- spark 参数调优指南
- Spark Streaming编程指南
- 事件生成JOB调优笔记(spark streaming)
- spark调优(六)【Spark性能优化指南——基础篇】
- Spark Streaming编程指南(部分)
- [Spark]Spark Streaming 指南一 Example
- spark官方文档之——Spark Streaming Programming Guid spark streaming编程指南
- 基于Python的Spark Streaming+Kafka编程实践及调优总结
- 「官文译」Spark Streaming2.1.1 + Kafka集成指南(Kafka代理版本0.8.2.1或更高版本)
- Spark踩坑记:Spark Streaming+kafka应用及调优
- #########好####### pyspark-Spark Streaming编程指南
- [Spark]Spark Streaming 指南二 初始化StreamingContext
- Apache Spark 2.2.0 中文文档 - Spark Streaming 编程指南 | ApacheCN
- Spark Streaming编程指南