Spark Streaming 和kafka 集成指导(kafka 0.8.2.1 或以上版本)

本节介绍一下如何配置Spark Streaming 来接收kafka的数据。有两个方法:1、老的方法 -使用Receivers 和kafka的高级API2、新的方法( Spark 1.3 开始引入)-不适用Receivers。这两个方式拥有不同的编程模型,性能特征和语义保证,为了获得更多细节,继续往下读。对于目前的版本的spark。这两个方式都是稳定的。方法1 基于Receiver
摘要由CSDN通过智能技术生成

本节介绍一下如何配置Spark Streaming 来接收kafka的数据。有两个方法:
1、老的方法 -使用Receivers 和kafka的高级API
2、新的方法( Spark 1.3 开始引入)-不适用Receivers。这两个方式拥有不同的编程模型,性能特征和语义保证,为了获得更多细节,继续往下读。对于目前的版本的spark。这两个方式都是稳定的。

方法1 基于Receiver的 方式

这个方法使用了一个Receiver 接收数据。这个Receiver 是用kafka 高级的 consumer的api实现的。对于所有的receiver,通过Receiver 接收的kafka的数据会被存储到Spark的executors,然后 Spark Streaming 启动jobs处理数据。
然而 默认配置下,这个方式在失败的情况下回丢失数据(参考 receiver reliability.
)。为了保证零数据丢失,你必须在Spark Streaming (introduced in Spark 1.2)额外的开启Write Ahead Logs。这会同步的把接受的到kafka的数据写入到分布式系统(比如 HDFS) ahead logs 中,因此 所有的数据都可以在失败的时候进行恢复。 参考 Deploying section
以获取更多的关于 Write Ahead Logs.的信息。

下面, 我们讨论下如何在你的streaming的应用中 使用这个方法。
1、Linking: 对于Scala/Java 应用使用SBT/MAven的项目定义,连接到你的streaming的应用使用如下的artifact。

groupId = org.apache.spa
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值