第4课: Spark Streaming的Exactly-One的事务处理和不重复输出彻底掌握

第4课: Spark Streaming的Exactly-One的事务处理和不重复输出彻底掌握

根据家林大神课程编写!

事务处理是至关重要的。事务处理例如:银行转账,A给B转账,B不可能多次收到A的转账;A转给B多次,而B只收到1次,这也不可能。事务处理:事务一定会被处理而且一定只会处理1次。

在spark streaming,spark运行出错的时候不能保证输出的时候也是事务级别的,例如Task处理一半的时候崩溃了,从语义上保证事务级别的处理,处理仅被处理1次,但如果数据存入数据库,可能被存入多次。例如广告计费程序,接收前端的广告点击流,广告点击计算的时候,有且只被处理1次,然后交给后台的计费程序,spark streaming基于spark,任务失败的时候会进行重试,这个时候可能导致一个结果:点击的有效数据可能会多次写入下一步的计费程序中。

总结一下:一方面能够处理且只被处理1次,第二点:能够输出且只被输出1次。例如A给B转账,A一定会被扣除1次,B收到A的转账费用且只收到1次。spark streaming进行事务处理,有没有可能完全处理失败呢?这个可能性不大。spark是BatchInterval批处理的方式进行流处理。spark streaming应用程序启动的时候分配相关的资源,而且调度的过程中可以动态的分配资源,除非集群中所有的硬件全部崩溃,一般情况下都一定会被处理,spark streaming不大可能处理完全失败。

整个spark streaming写程序的的时候分成Driver和Executor二部分。这里是spark streaming的application,其Driver

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

段智华

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

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

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

打赏作者

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

抵扣说明:

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

余额充值