spark streaming消费kafka maven依赖选择

当我们的spark streaming程序需要消费kafka数据,我们需要根据自己的spark版本和kafka broker版本选择合适的maven依赖

 spark-streaming-kafka-0-8spark-streaming-kafka-0-10
支持的kafka版本0.8+0.10+
依赖包使用的spark版本2.0-及2.0+2.0+
消费方式直连及基于消费者直连
偏移存储方式直连自己处理,基于消费者存zk存kafka topic里
兼容性与0.8+的kafka都兼容与0.10-的kafka版本不兼容

注意:0.8+表示0.8版本及0.8以上的版本,-同理

首先,我们来看kafka的版本

如果kafka是在apache下的kafka,比如kafka_2.11-2.0.0,2.11表示scala版本,2.00表示kafka的版本

如果是cdh下载parcel包装的kafka,可参照如下表格

比如3.0.0-1.3.0.0.p0.40,则对应的kafka版本是0.11.0,3.1.1-1.3.1.1.p0.2对应的kafka版本是1.01,

也可到kafka下看jar包的版本便可知kafka版本

接下来我们看spark的版本,如果使用cdh默认的spark,则spark版本默认1.6,如果升级过,则为升级后的版本,

2.0,2.1.....

该选择maven依赖了,去maven仓库搜索

可以看到有三种依赖,第一种和第二种是代码是一样的,区别是第一种支持spark早期版本,第二种支持spark1.6以后版本,这两种kafka版本都为0.8.21,故只讨论第二种。

以下为第一种的

先看0-8的

再看0-10的,kakfa版本为0.10.1

version表示spark版本,scala表示scala版本,date列是日期

可根据自己的spark版本和kafka版本选择适合自己的依赖,spark版本没那么强关联,注意有的在低版本的开发者api,到高版本成了包私有的,比如KafkaCluster(在0-8为开发者api,在spark-streaming-kakfa为包私有),Logging(在1.6为开发者api,1.6以后为包私有)

这两种推荐使用0-10,无需自己管理偏移,直接调api将偏移存到kafka的topic里。

 

  • 3
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值