开发者学堂课程【大数据Spark2020版(知识精讲与实战演练)第五阶段:Structured_案例_介绍】学习笔记,与课程紧密联系,让用户快速学习知识。
课程地址:https://developer.aliyun.com/learning/course/692/detail/12143
Structured_案例_介绍
内容介绍
一. 目标和过程
二. 案例的步骤
三. 总结
一.目标和过程
目标:
理解接下来要做的案例,有的放矢
步骤:
1.需求
2.整体结构
3.开发方式
二.案例的步骤
1.需求梳理
(1)需求
先看数据的产生,上方是输入部分,中间部分是时间线,第三部分是结果部分。就要有非常清晰的这三个意识,就知道这三图当中的由上自下。
第一个时间点的时候,收到了两条数据 Hello World 和 Hello Spark ,在第二个时间点当中,收到了两条数据,分别是 Hello Spark 和 Hello Hadoop ,在第三个时间点里面,又收到了两条数据,叫做 Hello Spark 。在第一个时间点里头,统计出来两个 Hello ,一个World 和一个 Spark 。
在第二个时间点里面结果集是 Hello 有 4 个,第二个时间点输入
时只有 2 个 Hello ,第一个时间点里面还有 2 个 Hello 。所以要统计的就不是某一个批次的结果,要统计的是全局的结果。World 只有 1 个,Spark 是 2 个 ,第一个时间点第二个时间点分别 1 个, Hadoop 1个。
在第三个时间点里面所想看到的结果是 Hello 有 5 个,World 1个, Spark 3个, Hadoop 1个。这是整个的需求,还要进行一个词频统计,但是词频统计和原来的区别是要统计全局的结果,这方面会有一点点不同。
(2)整体结构
首先有一个 Netcat Socket Server 产生数据,交给 Structured Streaming 来进行处理。处理完要把结果展示到控制台里面,这是整个程序执行的过程。
具体过程:
Socket Server 等待 Structured Streaming 程序连接
Structured Streaming 程序启动,连接 Socket Server, 等待 Socket Server 发送数据
Socket Server 发送数据,Structured Streaming 程序接收数据
Structured Streaming 程序接收到数据后处理数据
数据处理后,生成对应的结果集在控制台打印
(3)开发方式和步骤
Socket server 使用 Netcat nc 来实现
Structured Streaming 程序使用 IDEA 实现,在 IDEA 中本地运行
编写代码
启动 nc 发送 Socket 消息
运行代码接收 Socket 消息统计词频
2.代码编写
3.运行
4.结果验证
三.总结
简单来说,是要进行流式的词频统计,使用 Structured Streaming 。