SparkStreaming实时任务处理的三种语义一点一点慢慢靠近我是什么歌

这是我的第74篇原创kafka+SparkStreaming是目前lambda架构里比较流行的实施任务处理。但是里面的坑还是不少,没经历过的朋友得踩不少坑。atmostonceAt most once

这是我的第74篇原创

kafka+SparkStreaming是目前lambda架构里比较流行的实施任务处理。但是里面的坑还是不少,没经历过的朋友得踩不少坑。

atmostonce

At most once:一条记录要么被处理一次,要么没被处理。用人话说,就是会丢数据。

这种语义其实就是使用Receiver直接接收Kafka的数据。Receiver接收数据后,存储在Spark的执行器中,Spark Streaming启动的作业会去处理数据。

一般情况下,Receiver是单点的,单点肯定就有丢数据的风险啊!Spark Streaming都是在内存里操作,一旦Receiver单点故障,数据就丢失了。所以这种方案是大家不能容忍的。

Spark 1.2的时候,有一个补充方案,就是启动Write Ahead Logs,将接收到的数据固化下来。一旦Receiver单点故障了,重新启动的时候再去恢复一下就好了。不过这个方式实际上是把数据复制了两次(kafka自己复制,Spark又复制一次)性能不太好。

atLeastonce

At least once:一条记录可能被处理一次或者多次。用人话说,就是会重复消费数据。

为了避免丢数据的弊端,Spark1.3中引入了 Direct Approach机制从kafka获取数据,替代原有的Receiver接收器。

SparkStreaming的KafkaCluster会先获取kafka的partition信息,然后创建DirectKafkaInputDStream,对应每一个Topic,然后获取每个Tiopc的每个Partition 的Offset。这样等于是在SparkStreaming中对Kafka的每个Topic的每个Partition都建立了一个专属数据管道,直接接收数据。另外,所有的Offset信息都会报给InputInfo

Tracker。

这样的好处很多哈,比如简化并行、避免重复复制数据、降低资源等等。

但是这样会出现一个问题,特殊情况下可能会重复消费。比如在上报offset之前出故障了,任务重启之后,重新获取的offset是以前的,然后把当前处理进度的数据又重新读取了一次。


Exactly once

Exactly once:一条记录只被处理一次。用人话说就是,数据这么算就准了。

重复消费的原因其实就是在于处理数据和递交Offset是分两步走的,也就是说不在同一个事务里。

想不重复消费,那就要做到幂等或者事务更新就行。

不过光搞定处理数据和递交offset事务更新还是不够,万一数据不能重复消费也是白搭。所以要做到Exactly once,得有三个前提:

1、数据源端支持数据重复读取;

2、流计算引擎支持Exactly once;

3、第三才是Sink支持幂等或者事务更新。


Spark Streaming搞定Exactly once的方法其实还是利用kafka支持数据重复读取+Spark Streaming的DStream支持Exactly one+事务更新和数据持久化。


这样,一旦发生故障,要么数据没处理完,offset也不会同步递交;部分数据进行持久化;这样任务恢复后,获取的offset和数据状态是同步的,就不会重复消费数据了

配合以下文章享受更佳






干货| 12种方法,彻底搞定数据倾斜!


干货|设计思想赏析-MapReduce环形缓冲区


干货 |传统数仓和大数据数仓的区别是什么?

我需要你的转发,感谢你
原文链接:http://www.wanshiruyi.cc/news/52678.html,转载和复制请保留此链接。
以上就是关于SparkStreaming实时任务处理的三种语义一点一点慢慢靠近我是什么歌全部的内容,关注我们,带您了解更多相关内容。
阅读剩余 52%

特别提示:本信息由相关用户自行提供,真实性未证实,仅供参考。请谨慎采用,风险自负。



上一篇:315观察:骗谷大军,盯上年轻人山回路转不见君下一句

下一篇:产品经理需要了解的B端产品的权限设计逻辑小的繁体字

相关推荐

  • 比亚迪、长城:500万“手撕”自媒体背后的冷思考三级缓存

    文:谈擎说AI 作者:郑开车今年上半年,多家车企法务部公开了一系列“清朗活动”的成果,比如蔚来、小鹏、零跑等等,基本核心都是以道歉和常规形式的追究法律责任收尾。重头戏来自本月末

    2025-03-17
    41
  • 前华为天才少年做会骑车的机器人,公司估值70亿四十而惑

    文/Leon蛇年春晚最有意思的节目,一定非机器人跳舞莫属。就算是遥控或预编程,机器人能够做出如此复杂的动作,在五年前都是不敢想象的事情,其制造商宇树科技也因此火爆全网。就在春节过后不到一个月,会骑自行

    2025-03-17
    36
  • 社区团购,结局会是一地鸡毛吗?寒食的诗意

    司马特小分队在星球成立了「B 端产品经理之家」更是有多位小伙伴,通过我们的「系列课程」和「改简历」,成功拿到心仪的offer。星球每天都有不少的产品话题讨论,也沉淀了很多优质的内容,每周我会摘选 3-

    2025-03-17
    32
  • 悬疑剧大年,品牌营销新战场什么的翅膀

    来源:TopMarketing刚刚完结的爆火悬疑剧《新生》,大家都看了吗?由井柏然、周依然主演的《新生》,先后上线于优酷和网飞,成为了近期最热的悬疑剧集。无论是从“反诈片”到&

    2025-03-17
    47
  • 淘宝的“泛娱乐化”自救?漂白粉的漂白原理

    来源:刘旷近几年,淘宝、拼多多、京东、苏宁易购等电商平台,纷纷开始了内容化改革,包括布局直播、图文内容、短视频内容等。以淘宝为例,继2020年首页全面信息流化之后,近期又正式上线了“夜淘宝

    2025-03-17
    44