Structred_Source_Kafka_需求 | 学习笔记

简介: 快速学习 Structred_Source_Kafka_需求

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

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


Structred_Source_Kafka_需求

内容介绍

一.目标

二.步骤

 

一.目标

通过本章节的学习,可以掌握一个常见的需求,并且了解后面案例的编写步骤

 

二.步骤

1.需求

模拟一个智能物联网系统数据统计

有一个智能家居品牌叫做 Nest, 他们主要有两次产品,一个是恒温器,一个是摄像头。

恒温器的主要作用是通过感应器识别家里什么时候有人,摄像头主要作用是通过学习算法来识别出现在摄像头中的人是否是家里人,如果不是则报警

所以这两个设备都需要统计一个指标,就是家里什么时候有人,此需求就是针对这个设备的部分数据,来统计家里什么时候有人。

摄像头存在 ai 算法,摄像头内消息传递到 Kafka,使用 Spark 处理消息。

image.png

2. 使用生产者在 Kafka 的 Topic:steaming-test 中输入 JSON 数据

传到 kafka,在 kafka 内处理并解析,统计。

{

“devices":{

" cameras":{

"device_id:“awJo6rH"

"last_event{

"has_sound”:true,

"has_motion" :true ,

"has_person”:true,

"start_time":“2016-12—29T00: 00: 00.000Z "

"end_time":2016-12-29718:42 :00.000Z"

}

}

}

此格式为 json 格式·

3.使用 Structured Streaming 来过滤出来家里有人的数据

把数据转换为时间-->是否有人这样类似的形式

4.数据转换

追踪 json 数据的格式。

可以在一个在线的工具 https://jsonformatter.org/ 中格式化 JSON,公发现 JSON 格式如下

object (1)

devices (1)

careras (2)

Device_id : anjo6rm

Last_event (5)

Has_sound :true

has_ Rotion :true

Has_person:true

Start_time:2016-12-7910010000.0002

End_time:2016-122911842:00.002

将 json 放入网站中进行格式化,多行变单行。否则放入卡夫卡中是多行消息。

image.png

5.反序列化

JSON 数据本顺上就是字符串,只不过这个字符串是有结构的,虽然有结构,但是很难直接从字符串中取出某个值而反字列化,就是指把 JSON 数据转为对象,或省转为 DataFrame,可以直接使用某.一个列或者某个字段获取数据, 更加方便

而想要做到这件事,必须要先根据数据格式,编号 Schema 对象,从而通过些方式转为 DataFrame

6.总结

1.业务简单米说,就是收集智能家居设备的数据,通过流计算的方式计算其特征规律

2.Kafka 常见的业务场景就是对接业务系统和数据系统

业务系统经常会使用 JSON 作为数据传输格式

所以使用 Structured Streaming 来对按 Kafka 并反序列化 Kafka 中的 JSON 格式的消息,是一个 非常重要的技能

3.无论使用什么方式,如果想反序列化 JSON 数据,就必须要先追踪 JSON 数据的结构。

数据从设备出发,放到卡夫卡,使用 Spark 处理消息,统计时间点,观看时间点家里是否有人。

相关文章
|
消息中间件 数据采集 域名解析
数据采集-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
182 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 | 学习笔记
|
消息中间件 分布式计算 大数据
Structured_Source_Kafka_整合 | 学习笔记
快速学习 Structured_Source_Kafka_整合
Structured_Source_Kafka_整合 | 学习笔记
|
消息中间件 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_连接 | 学习笔记
下一篇
无影云桌面