clwn.net
当前位置:首页 >> spArk 读取kAFkA数据 >>

spArk 读取kAFkA数据

1、kafkautils.createdstream构造函数为kafkautils.createdstream(ssc, [zk], [consumer group id], [per-topic,partitions] ) 使用了receivers来接收数据,利用的是kafka高层次的消费者api,对于所有的receivers接收到的数据将会保存在spark executors

spark streaming接收kafka数据 用spark streaming流式处理kafka中的数据,第一步当然是先把数据接收过来,转换为spark streaming中的数据结构dstream.接收数据的方式有两种:1.利用receiver接收数据,2.直接从kafka读取数据.基于receiver的方式 这种方式利用接收器(receiver)来接收kafka中的数据,其最基本是使用kafka高阶用户api接口.对于所有的接收器,从kafka接收来的数据会存储在spark的executor中,之后spark streaming提交的job会处理这些数据.如下图:

前面应该还有个数据生产者,比如flume. flume负责生产数据,发送至kafka. spark streaming作为消费者,实时的从kafka中获取数据进行计算. 计算结果保存至redis,供实时推荐使用. flume+kafka+spark+redis是实时数据收集与计算的一套经典架构

1、KafkaUtils.createDstream构造函数为KafkaUtils.createDstream(ssc, [zk], [consumer group id], [per-topic,partitions] ) 使用了receivers来接收数据,利用的是Kafka高层次的消费者api,对于所有的receivers接收到的数据将会保存在spark

spark streaming从1.2开始提供了数据的零丢失,想享受这个特性,需要满足如下条件: 1.数据输入需要可靠的sources和可靠的receivers 2.应用metadata必须通过应用driver checkpoint 3.WAL(write ahead log)

我先写了一个kafka的生产者程序,然后写了一个kafka的消费者程序,一切正常.生产者程序生成5条数据,消费者能够读取到5条数据.然后我将kafka的消费者程序替换成使用spark的读取kafka的程序,重复多次发现每次都是读取1号分区的数

一、基于Receiver的方式 这种方式使用Receiver来获取数据.Receiver是使用Kafka的高层次Consumer API来实现的.receiver从Kafka中获取的数据都是存储在Spark Executor的内存中的,然后Spark Streaming启动的job会去处理那些数据.然

spark读取kafka数据,之后进行过滤,过滤后计算有多少条数据怎么写前面应该还有个数据生产者,比如flume. flume负责生产数据,发送至kafka. spark streaming作为消费者,实时的从kafka中获取数据进行计算. 计算结果保存至redis,供实时推荐使用. flume+kafka+spark+redis是实时数据收集与计算的一套经典架构

我这边的应用是这样的: ①采集程序:使用avro方式将自定义对象序列化成字节流存入Kafka ②spark streaming:获取Kafka中的字节流,使用avro反序列化为自定义对象

Receiver-based的Kafka读取方式是基于Kafka高阶(high-level) api来实现对Kafka数据的消费.在提交Spark Streaming任务后,Spark集群会划出指定的Receivers来专门、持续不断、异步读取Kafka的数据,读取时间间隔以及每次读取offsets范围可以由参数来配置.读取的数据保存在Receiver中,具体StorageLevel方式由用户指定,诸如MEMORY_ONLY等.当driver 触发batch任务的时候,Receivers中的数据会转移到剩余的Executors中去执行.在执行完之后,Receivers会相应更新ZooKeeper的offsets.

zxpr.net | zmqs.net | jtlm.net | wlbk.net | qwrx.net | 网站首页 | 网站地图
All rights reserved Powered by www.clwn.net
copyright ©right 2010-2021。
内容来自网络,如有侵犯请联系客服。zhit325@qq.com