Spark Streaming揭秘 Day1

三大谜团

引子

在Spark的众多组件中,Streaming最接近企业级应用程序,学习Spark Streaming,是掌握大数据技术的一条捷径。今天是第一节课,让我们从头开始。本系列内容都是基于Spark1.6.1版本。
根据Quick Example (Batch Interval需设置为30秒)运行一个Spark Streaming程序,然后进行观察。

谜团一:5个Job?

从Demo代码来看,仅调用了print方法,一次action触发应该调用一次Job。
但实际上共运行5个job!!!
Spark Streaming揭秘 Day1-三大谜团-LMLPHP
除了我们实际运行action的Job以外,其他Job的作用是什么呢?

谜团二:分布化很简单?

深入来看,我们发现Job1是Receiver,主要定位是接收外部数据,但需要注意的是,这个Job仅运行在一台Worker上。
Spark Streaming揭秘 Day1-三大谜团-LMLPHP
但从Job2来看,实际执行是分布式的,而且都是本地内存运行(Process_local)!!!
Spark Streaming揭秘 Day1-三大谜团-LMLPHP

通过两个作业的配合,实现了一个完整的分布式处理过程,简单到难以置信,那么单点运行的接收器如何驱动分布式的本地内存运行?

谜团三:消失的Job?

从控制台输出,可以看到Job4实际执行了任务,
Spark Streaming揭秘 Day1-三大谜团-LMLPHP
但是从执行内容看,Job2、Job3、Job4都执行了Print方法。
Spark Streaming揭秘 Day1-三大谜团-LMLPHP

Job2、Job3在实际执行过程中消失了,他们到底是做什么的?

欲知后事如何,且听下回分解

DT大数据每天晚上20:00YY频道现场授课频道68917580

05-11 14:07