Spark Kafka

本文介绍了Spark Streaming与Kafka集成的两种方法:基于Receiver的方法和Direct(无Receiver)方法。Receiver-based方法使用接收器并可能丢失数据,需要Write-Ahead Log确保可靠性。而Direct Approach提供端到端的保证,更高效,不依赖Receiver和WAL,但不更新Zookeeper中的offset。
摘要由CSDN通过智能技术生成

Spark Streaming with Kafka integration

  • 在这里我们开始介绍如何配置spark Streaming去接受来自kafka的数据,有两个方法能够做到:
    • 1.老方法,使用的是Receivers和kafka的高级API
    • 2.新方法,取消了使用Receivers
    • 他们拥有不同的编程模型,代表特征和保证语义,所以,阅读来获得更多的细节,两个方法都是被考虑经过现在spark版本的稳定API实现的

Approach 1:Receiver-based Approach(基于接收器的方法)

  • 这个方法是使用一个接收器来接受数据,这个接收器是使用kafka高级API的工具,对于所有的接收器来说,kafka的数据接受是通过一个数据接收器,此接收器是存在于spark Executor中的,之后的任务启动是通过spark Streaming来处理数据。
  • 然而在默认的配置下,此方法有可能会发生错误从而丢失数据(详情请看Receiver reliability),为确保数据不丢失,不得不另外添加一个Write-Ahead Log(WAL)在spark Streaming中,kafka中所有接收到的数据会同步存储在WAL分布式文件系统HDFS上 ,所以,数据发生错误的时候可被恢复
  • 该方式如何设置在流式应用中:
import org.apach
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值