开发者学堂课程【大数据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 方法。
它的运行情况如图所示:
可以看到程序已经运行了,但是控制台内容并没有改变。
没有数据的情况下,它是不会开启批次的。
在虚拟机中输入内容 hello world 控制台会出现 batch 0, batch 0 并不是一下就生成的,它会等待一个周期,周期结束以后,它会把结果集打印出来。并且周期默认的,所以会比较长。
在虚拟机依次输入 hello spark , hello Hadoop , hello spark , hello spark
然后控制台结果如下:
然后等待第二个批次,每个批次的间隔会比较久,这是一个默认值,我们可以单独设置一下批次的结果。
第二个批次输出结果如下:
第三个批次结果如下:
现在获取到的结果并不是某一个批次的结果,而是全局的所有批次之间的结果。
这和默认的 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 。