Structured_Source_Kafka_整合 | 学习笔记

简介: 快速学习 Structured_Source_Kafka_整合

开发者学堂课程【大数据Spark2020版(知识精讲与实战演练)第五阶段:Structured_Source_Kafka_整合】学习笔记,与课程紧密联系,让用户快速学习知识。

课程地址:https://developer.aliyun.com/learning/course/692/detail/12152


Structured_Source_Kafka_整合

内容介绍

一、Kafka 和 Structured Streaming 整合的结构

二、总结

 

一、Kafka 和 Structured Streaming 整合的结构

1.目标和步骤

(1)目标

通过本小节可以理解 Kafka 和 Structured Streaming 整合的结构原理,同时还能理解 Spark 连接Kafka 的时候一个非常重要的参数

(2)步骤

① Topic 的 offset

② Kafka 和 Structured Streaming 的整合结构

③ Structured Streaming 读取 Kafka 消息的三种方式

2. Topic 的 offset

Topic 是分区的,每一个 Topic 的分区分布在不同的 Broker 上

image.png

Producer 是消息的生成者,consumer 消息的消费者,中间 Kafka Cluster 为 Kafka 的集群,集群中有多个 Kafka 的节点 broker ,逻辑上的 Topic 分别分布在每一个节点上。物理节点是 broker ,topic 是逻辑概念。

每个分区都对应一系列的 Log 文件,消息存在于 Log 中,消息的 ID 就是这条消息在本分区的 Offset 偏移量

image.png

offset 又称作为偏移量,其实就是一个东西距离另外一个东西的距离

image.png

Kafka 中使用 Offset 命名消息,而不是指定 ID 的原因是想表示永远自增,ID 是可以指定的,但是 Offset 只能是一个距离值,它只会越来越大,所以,叫做 Offset 而不 ID也是这个考虑,消息只能追加到 Log 末尾,只能增长不能减少

3.Kafka 和 Structured streaming 整合的结构

image.png

(1)分析

Structured Streaming中使用 Source 对接外部系统,对接 Kafka  Source 叫做 KafkaSource KafkaSource 中会使用KafkaSourceRDD 来映射外部 Kafka 的 Topic ,两者的 Partition一一对应

(2)结论

Structured Streaming 会并行的从 Kafka 中获取数据

4. structured Streaming 读取 Kafka 消息的三种方式

image.png 

(1) Earliest 从每个 Kafka 分区最开始处开始获取

(2) Assign 手动指定每个 Kafka 分区中的Offset

(3) Latest 不再处理之前的消息,只获取流计算启动后新产生的数据

 

二、总结

1. Kafka 中的消息存放在某个 Topic 的某个  Partition 中,消息是不可变的,只会在消息过期的时候从最早的消息开始删除,消息的 ID 也叫做 Offset, 并且只能正增长

2. Structured Streaming 整合 Kafka 的时候,会并行的通过 Offset 从所有 Topic 的 Partition 中获取数据

3. Structured Streaming 在从、Kafka 读取数据的时候,可以选择从最早的地方开始读取,也可以选择从任意位置读取,也可以选择只读取最新的

相关文章
|
12月前
|
消息中间件 监控 Kafka
Apache Kafka-使用Kafak Tool 查看Kafka中的数据
Apache Kafka-使用Kafak Tool 查看Kafka中的数据
338 0
|
消息中间件 Java Kafka
Kafka+Avro的demo
Kafka+Avro的demo
118 0
|
消息中间件 存储 分布式计算
Structured Streaming 读取kafka 写入Neo4j
Structured Streaming 读取kafka 写入Neo4j
Structured Streaming 读取kafka 写入Neo4j
|
消息中间件 JSON 大数据
Structured_Source_Kafka_回顾 | 学习笔记
快速学习 Structured_Source_Kafka_回顾
58 0
Structured_Source_Kafka_回顾 | 学习笔记
|
消息中间件 分布式计算 Hadoop
Structured_Sink_Kafka | 学习笔记
快速学习 Structured_Sink_Kafka
54 0
Structured_Sink_Kafka | 学习笔记
|
消息中间件 Kafka 流计算
flink 读取kafka 数据写入Neo4j
flink 读取kafka 数据写入Neo4j
|
消息中间件 JSON 分布式计算
Structred_Source_Kafka_需求 | 学习笔记
快速学习 Structred_Source_Kafka_需求
70 0
Structred_Source_Kafka_需求 | 学习笔记
|
消息中间件 JSON 分布式计算
Structred_Source_Kafka_连接 | 学习笔记
快速学习 Structred_Source_Kafka_连接
80 0
Structred_Source_Kafka_连接 | 学习笔记
|
消息中间件 Kafka Windows
【Kafka】(四)Kafka Streams 转换算子详解2
【Kafka】(四)Kafka Streams 转换算子详解2
259 0
【Kafka】(四)Kafka Streams 转换算子详解2
|
消息中间件 存储 Kafka
【Kafka】(四)Kafka Streams 转换算子详解1
【Kafka】(四)Kafka Streams 转换算子详解1
175 0
【Kafka】(四)Kafka Streams 转换算子详解1