Spark Streaming 调优指南
2017-07-20 23:01
169 查看
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 调优指南
- #########好####### pyspark-Spark Streaming编程指南
- 「官文译」Spark Streaming2.1.1 + Kafka集成指南(Kafka代理版本0.8.2.1或更高版本)
- Spark踩坑记:Spark Streaming+kafka应用及调优
- Spark Streaming和Kafka整合开发指南
- [Spark]Spark Streaming 指南二 初始化StreamingContext
- Apache Spark 2.2.0 中文文档 - Spark Streaming 编程指南 | ApacheCN
- 第121课: Spark Streaming性能优化:通过摄像头图像处理案例来说明Spark流处理性能评估新方法及性能调优参数测试
- SPARK STREAMING之1:编程指南(翻译v1.4.1)
- [Spark]Spark Streaming 指南三 DStreams
- Spark Streaming:性能调优
- Spark Streaming:性能调优
- Spark Streaming + Kafka集成指南
- Spark性能优化指南(一)(开发调优)
- spark 参数调优指南
- [置顶] Spark2.1.0文档:Spark Streaming 编程指南(下)-性能调优和容错语义
- Spark Core 调优指南
- Spark Streaming编程指南
- Spark Streaming编程指南(二)
- 【译】Yarn上常驻Spark-Streaming程序调优