Structured_案例_运行和总结 | 学习笔记

简介: 快速学习 Structured_案例_运行和总结

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

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


Structured_案例_运行和总结

内容介绍:

一. 目标和步骤

二. 开启 Socket Server 和运行程序的步骤

三. 总结

 

一. 内容介绍

目标:

代码已经编写完毕,需要运行,并查看结果集,因为从结果集的样式中可以看到 Structured Streaming 的一些原理

步骤:

1.开启 Socket Server

2.运行程序

3.查看数据集

 

二. 开启 Socketserver 和运行程序的步骤

1.在虚拟机 node01 中运行 nc-lk9999

2.在 IDEA 中运行程序

3.在 node01 中输入以下内容

hello world

hello spark

hello hadoop

hello spark

hello spark

还是回到的虚拟机当中,回到虚拟机当中 clear 一下。

然后使用 nc - lk 9999 。

这时就开启了一个 Socket Server ,开启 Socket Server 以后就可以进入到 IDEA 当中,之后运行 main 方法。

它的运行情况如图所示:

image.png

可以看到程序已经运行了,但是控制台内容并没有改变。

没有数据的情况下,它是不会开启批次的。

在虚拟机中输入内容 hello world 控制台会出现 batch 0, batch 0  并不是一下就生成的,它会等待一个周期,周期结束以后,它会把结果集打印出来。并且周期默认的,所以会比较长。

在虚拟机依次输入 hello spark , hello Hadoop , hello spark , hello spark

然后控制台结果如下:

image.png

然后等待第二个批次,每个批次的间隔会比较久,这是一个默认值,我们可以单独设置一下批次的结果。

第二个批次输出结果如下:

image.png

第三个批次结果如下:

image.png

现在获取到的结果并不是某一个批次的结果,而是全局的所有批次之间的结果。

这和默认的 Spark streaming 会有一点区别。另一个区别是以往都是先开一个批次,在等待足够的时间以后,输出结果集,这一点和 Spark streaming 不太一样, Spark streaming 是一个批次开始,然后 RDD 生成。

再观察一下代码:

代码整体上就分为几个大部分,简单了解一下代码的组织结构。在后面会去讲到原理以及具体是怎样运行的。

首先创建一个 Spark session ,数据的生成就是 Read Stream 。第二大部分是数据的处理,数据处理以后生成了一个结果的 Dataset 。第三大部分是数据的输出。和学习 Dataset 的步骤应该是一样。

读是一大部分,然后处理是一大部分,写是一大部分。

接下来要了解 Read Stream 和 Write Stream

并且在了解 Read Stream 和 Write Stream 的同时会去介绍 source 和 Think 的大致原理。

然后再讲到数据处理,数据处理当中会了解水印以及一系列高级的应用,包括 checkpoint , state store 是怎样进行原理组织的。这是课程的组织结构,所有内容会进行一一的作答。

 

三.总结

1.在运行之前一定要先开 Socket Server 。

2.最终 Structured Streaming 在处理数据的时候是使用 Dataset ,读的时候使用 Read Stream ,写的时候使用 Write Stream 。

相关文章
|
数据安全/隐私保护
关于 OAuth 2.0 统一认证授权
随着互联网的巨头大佬逐渐积累了海量的用户与数据,用户的需求越来越多样化,为了满足用户在不同平台活动的需求,平台级的厂商则需要以接口的形式开放给第三方开发者,这样满足了用户的多样性需求,也可以让自己获得利益,让数据流动起来,形成给一个良性的生态环境,最终达到用户、平台商、第三方开发者共赢。
3271 0
|
PHP 开发者
深入理解PHP的命名空间
在PHP中,命名空间是一个很重要的概念。它提供了一种在全局范围内组织代码的方式,避免了类名和函数名的冲突。本文将深入探讨PHP的命名空间,包括它的工作原理,如何创建和使用命名空间,以及它的优点和缺点。
|
关系型数据库 MySQL 数据库
MySQL配置用户权限(mysql5.*及mysql8.*+)
MySQL配置用户权限(mysql5.*及mysql8.*+)
633 0
|
存储
进阶指针大全(下篇)---函数指针和回调函数
进阶指针大全(下篇)---函数指针和回调函数
133 0
|
Linux 网络协议
Linux 修改主机名字
详细出处参考:http://www.jb51.net/LINUXjishu/10958.html 很多人使用hostname命令 主机名 来修改,其实这个只是做为暂时的,重启后将恢复到原来的名字.
1043 0
|
2天前
|
数据采集 人工智能 安全
|
12天前
|
云安全 监控 安全
|
3天前
|
自然语言处理 API
万相 Wan2.6 全新升级发布!人人都能当导演的时代来了
通义万相2.6全新升级,支持文生图、图生视频、文生视频,打造电影级创作体验。智能分镜、角色扮演、音画同步,让创意一键成片,大众也能轻松制作高质量短视频。
1030 151