Structured_案例_介绍 | 学习笔记

简介: 快速学习 Structured_案例_介绍

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

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


Structured_案例_介绍

内容介绍

一. 目标和过程

二. 案例的步骤

三. 总结

 

一.目标和过程

目标:

理解接下来要做的案例,有的放矢

步骤:

1.需求

2.整体结构

3.开发方式

 

二.案例的步骤

1.需求梳理

(1)需求

image.png

先看数据的产生,上方是输入部分,中间部分是时间线,第三部分是结果部分。就要有非常清晰的这三个意识,就知道这三图当中的由上自下。

第一个时间点的时候,收到了两条数据 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)整体结构

image.png

首先有一个 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 。

相关文章
|
Java API Apache
Gradle从0入门到实战系列【一】Hello World Gradle
早期没有项目管理工具时,对于项目所依赖的第三方包采用的是:拷贝三方jar包到本地,然后加入到lib目录下,这样做劣势不言而喻,管理复杂容易冲突。 Gradle是一个基于Apache Ant和Apache Maven概念的项目自动化构建开源工具。它使用一种基于Groovy的特定领域语言(DSL)来声明项目设置,也增加了基于Kotlin语言的kotlin-based DSL,抛弃了基于XML的各种繁琐配置。面向Java应用为主。
995 0
Gradle从0入门到实战系列【一】Hello World Gradle
|
10月前
|
机器学习/深度学习 数据可视化 算法
Python与机器学习:使用Scikit-learn进行数据建模
本文介绍如何使用Python和Scikit-learn进行机器学习数据建模。首先,通过鸢尾花数据集演示数据准备、可视化和预处理步骤。接着,构建并评估K近邻(KNN)模型,展示超参数调优方法。最后,比较KNN、随机森林和支持向量机(SVM)等模型的性能,帮助读者掌握基础的机器学习建模技巧,并展望未来结合深度学习框架的发展方向。
Python与机器学习:使用Scikit-learn进行数据建模
|
机器学习/深度学习 传感器 人工智能
ai在气候变化的应用
【7月更文挑战第9天】ai在气候变化的应用
410 3
|
Linux 虚拟化 iOS开发
部署06--MacOS安装VMware Fusion安装
部署06--MacOS安装VMware Fusion安装
|
10月前
|
机器学习/深度学习 数据采集 人工智能
《揭秘AI与元应用:优化模型训练,解锁无限潜能》
在数字化浪潮中,AI与元应用开发正以前所未有的速度重塑生活与工作方式。优化AI模型的训练效率与准确性是关键,涵盖五个方面:精选适配模型架构(如CNN、RNN、Transformer),雕琢数据质量(清洗、增强、归一化),优化训练算法(如SGD、Adam),借助硬件加速(GPU、TPU、FPGA),以及模型压缩与优化(量化、剪枝、知识蒸馏)。这些环节共同提升AI模型性能,推动元应用发展,创造更多创新体验。
232 0
|
11月前
|
运维 监控 安全
HTTPS 证书自动化运维:HTTPS 证书管理系统之优势对比
本文详细介绍了一款功能强大的HTTPS证书管理系统,涵盖自动签发、更新、实时监控、部署一体化、自定义加密算法、集中管理和邮箱通知等功能。系统通过简化配置、智能引导、快速响应和多重防护等优势,确保企业和个人用户能高效、安全地管理证书,提升网站和应用的安全性。
|
传感器 存储 自动驾驶
自动驾驶系统的示例和关键组成
【10月更文挑战第5天】本文介绍了使用SysML系统工具设计自动驾驶汽车内部组件的方法,重点在于通过内部块图(IBD)详细展示各子系统(如感知、控制、导航和动力系统)的内部结构及它们之间的交互。IBD不仅定义了各部件的接口和连接,还支持递归分解,有助于理解系统结构和设计接口,促进系统集成。通过端口、连接器等元素,IBD清晰展现了数据和物理流在部件间的通信方式。
368 1
|
存储 编解码 监控
射频(RF)中的频谱分析方法详解
射频(RF)中的频谱分析方法详解
689 4
|
机器学习/深度学习 人工智能 算法
AI伦理边界:当机器决策超越人类认知
【9月更文挑战第5天】AI伦理边界的探索是一个复杂而艰巨的任务,需要政府、企业、学术界和社会各界的共同努力。随着AI技术的不断发展,我们有理由相信,通过不断的探索和实践,我们一定能够找到一条既符合伦理道德又能够充分发挥AI技术潜力的道路。在未来的日子里,让我们携手并进,共同迎接AI技术带来的机遇与挑战。
|
存储 边缘计算 人工智能
边缘计算问题之边缘计算的定义如何解决
边缘计算问题之边缘计算的定义如何解决
617 0