1.11 Spark Streaming

文章详细介绍了SparkStreaming在处理Kafka数据时的配置和策略,包括从Kafka的earliestoffset开始消费、确保精准一次消费的方法、控制消费速度的参数、背压机制的启用以及Stage耗时的影响因素。此外,还提到了默认分区个数和推荐的Direct方式消费Kafka数据。特别强调了窗口函数在时间序列分析中的重要性。
摘要由CSDN通过智能技术生成

 1.11 Spark Streaming

1.11.1 Spark Streaming第一次运行不丢失数据

Kafka参数 auto.offset.reset 参数设置成earliest 从最初始偏移量开始消费数据

1.11.2 Spark Streaming精准一次消费

(1)手动维护偏移量

(2)处理完业务数据后,再进行提交偏移量操作

极端情况下,如在提交偏移量时断网或停电会造成Spark程序第二次启动时重复消费问题,所以在涉及到金额或精确性非常高的场景会使用事物保证精准一次消费。

1.11.3 Spark Streaming控制每秒消费数据的速度

通过spark.streaming.kafka.maxRatePerPartition参数来设置Spark Streaming从Kafka分区每秒拉取的条数。

1.11.4 Spark Streaming背压机制

把spark.streaming.backpressure.enabled 参数设置为ture,开启背压机制后Spark Streaming会根据延迟动态去Kafka消费数据,上限由spark.streaming.kafka.maxRatePerPartition参数控制,所以两个参数一般会一起使用。

1.11.5 Spark Streaming一个stage耗时

Spark Streaming Stage耗时由最慢的Task决定,所以数据倾斜时某个Task运行慢会导致整个Spark Streaming都运行非常慢。

1.11.6 Spark Streaming优雅关闭

把spark.streaming.stopGracefullyOnShutdown参数设置成ture,Spark会在JVM关闭时正常关闭StreamingContext,而不是立马关闭。

Kill 命令:yarn application -kill     后面跟 applicationid

1.11.7 Spark Streaming默认分区个数

Spark Streaming默认分区个数与所对接的Kafka Topic分区个数一致,Spark Streaming里一般不会使用repartition算子增大分区,因为repartition会进行Shuffle增加耗时。

1.11.8 SparkStreaming有哪几种方式消费Kafka中的数据,它们之间的区别是什么? 

在实际生产环境中大都用Direct方式。

1.11.9 简述SparkStreaming窗口函数的原理(重点)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

一鸣888

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值