spark streaming读取kakfka数据手动维护offset
在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中自带的接口和一些其他的资料组合而成,简单的写了一些,参数没写成配置)
相关推荐
wkwanglei 2020-06-13
qingmuluoyang 2020-06-10
sweetgirl0 2020-05-14
yangyutong00 2020-04-26
igogo00 2020-01-31
guicaizhou 2020-01-25
amwayy 2019-12-22
猫咪的一生 2019-12-14
sweetgirl0 2019-12-08
vimysql 2019-11-22
Rafema 2011-03-08