码迷,mamicode.com
首页 > 其他好文 > 详细

spark streaming读取kakfka数据手动维护offset

时间:2020-01-31 01:00:37      阅读:82      评论:0      收藏:0      [点我收藏+]

标签:cts   util   默认   使用   程序   rect   off   不同   效率   

在spark streaming读取kafka的数据中,spark streaming提供了两个接口读取kafka中的数据,分别是KafkaUtils.createDstream,KafkaUtils.createDirectStream,前者会自动把offset更新到zk中,默认会丢数据,效率低,后者不会经过zk,效率更高,需要自己手动维护offse,通过维护护offset写到zk中,保障数据零丢失,只处理一次,下面来看看KafkaUtils.createDirectStream的使用,我把zk的端口改成了9999,防止和kakfa自带的zk的端口产生冲突,下面我写了一些测试代码,经自己测试数据没任何问题,即使spark streaming挂了 ,另一方往topic中写数据,下次启动streaming程序也能读取,做到数据零丢失,不同的group.id下只读取一次,看看下面代码吧(代码是自己查看kafka中自带的接口和一些其他的资料组合而成,简单的写了一些,参数没写成配置)



spark streaming读取kakfka数据手动维护offset

标签:cts   util   默认   使用   程序   rect   off   不同   效率   

原文地址:https://www.cnblogs.com/chong-zuo3322/p/12244342.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!