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 读取数据的时候,可以选择从最早的地方开始读取,也可以选择从任意位置读取,也可以选择只读取最新的

相关文章
|
消息中间件 数据采集 域名解析
数据采集-Lua集成kafka流程跑通|学习笔记
快速学习数据采集-Lua集成kafka流程跑通
数据采集-Lua集成kafka流程跑通|学习笔记
|
6月前
|
消息中间件 存储 分布式计算
Hadoop学习笔记(HDP)-Part.19 安装Kafka
01 关于HDP 02 核心组件原理 03 资源规划 04 基础环境配置 05 Yum源配置 06 安装OracleJDK 07 安装MySQL 08 部署Ambari集群 09 安装OpenLDAP 10 创建集群 11 安装Kerberos 12 安装HDFS 13 安装Ranger 14 安装YARN+MR 15 安装HIVE 16 安装HBase 17 安装Spark2 18 安装Flink 19 安装Kafka 20 安装Flume
181 0
Hadoop学习笔记(HDP)-Part.19 安装Kafka
|
消息中间件 Kafka 调度
Kafka 消费者案例 | 学习笔记
快速学习 Kafka 消费者案例
175 0
Kafka 消费者案例  |  学习笔记
|
消息中间件 负载均衡 Kafka
Kafka 生产者案例 | 学习笔记
快速学习 Kafka 生产者案例
135 0
Kafka 生产者案例  |  学习笔记
|
消息中间件 存储 弹性计算
消息队列 kafka 销售指南| 学习笔记
快速学习消息队列 kafka 销售指南
消息队列 kafka 销售指南| 学习笔记
|
消息中间件 弹性计算 分布式计算
Kafka 数据如何同步到 MaxCompute | 学习笔记
快速学习 Kafka 数据如何同步到 MaxCompute,介绍了 Kafka 数据如何同步到 MaxCompute系统机制, 以及在实际应用过程中如何使用。
Kafka 数据如何同步到 MaxCompute | 学习笔记
|
消息中间件 JSON 大数据
Structured_Source_Kafka_回顾 | 学习笔记
快速学习 Structured_Source_Kafka_回顾
Structured_Source_Kafka_回顾 | 学习笔记
|
消息中间件 分布式计算 Hadoop
Structured_Sink_Kafka | 学习笔记
快速学习 Structured_Sink_Kafka
Structured_Sink_Kafka | 学习笔记
|
消息中间件 JSON 分布式计算
Structred_Source_Kafka_需求 | 学习笔记
快速学习 Structred_Source_Kafka_需求
Structred_Source_Kafka_需求 | 学习笔记
|
消息中间件 JSON 分布式计算
Structred_Source_Kafka_连接 | 学习笔记
快速学习 Structred_Source_Kafka_连接
Structred_Source_Kafka_连接 | 学习笔记
下一篇
无影云桌面