Spark Streaming的案例分析

发布时间:2021-12-16 15:25:27 作者:iii
来源:亿速云 阅读:315

这篇文章主要讲解了“Spark Streaming的案例分析”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Spark Streaming的案例分析”吧!

    为什么从SparkStreaming入手?

    因为SparkStreaming 是Spark Core上的一个子框架,如果我们能够完全精通了一个子框架,我们就能够更好的驾驭Spark。SparkStreaming和Spark SQL是目前最流行的框架,从研究角度而言,Spark SQL有太多涉及到SQL优化的问题,不太适应用来深入研究。而SparkStreaming和其他的框架不同,它更像是SparkCore的一个应用程序。如果我们能深入的了解SparkStreaming,那我们就可以写出非常复杂的应用程序。

  SparkStreaming的优势是可以结合SparkSQL、图计算、机器学习,功能更加强大。这个时代,单纯的流计算已经无法满足客户的需求啦。在Spark中SparkStreaming也是最容易出现问题的,因为它是不断的运行,内部比较复杂。

本课内容:

1,SparkStreaming另类在线实验

     这个另类在线实验体现在batchInterval设置的很大,5分钟甚至更大,为了更清晰的看清楚Streaming运行的各个环境。

     实验内容是使用SparkStreaming在线统计单词个数,SparkStreaming连接一个端口中接收发送过来的单词数据,将统计信息输出到控制台中,其中使用netcat创建一个简单的server,来开启并监听一个端口,接收用户键盘输入的单词数据。

2,瞬间理解SparkStreaming的本质

     结合这个实验并通过观察Web UI上的Job,Stage,Task等信息,再结合SparkStreaming的源码,对SparkStreaming进行分析。

实验环境说明:

     实验由3台Ubuntu14.04虚拟机上运行,其中一台作为Spark的Master,另外两台作为Spark的Worker。使用的Spark版本为目前最先版1.6.1,Spark checkpoint的存储在HDFS上(hadoop的版本为2.6.0)。为了记录SparkStreaming运行的过程信息,需要启动Spark的HistoryServer,以下是启厅Spark,HDFS,HistoryServer服务的脚本。

      Spark Streaming的案例分析       Spark Streaming的案例分析Spark Streaming的案例分析Spark Streaming的案例分析

Spark Streaming的案例分析

Spark Streaming的案例分析

Spark Streaming的案例分析

实验代码如下

Spark Streaming的案例分析

提交到Spark集群的脚本如下

Spark Streaming的案例分析

首先在Master节点使用nc -lk 9999,创建一个简单的Server,然后在运行脚本提交Spark Application。

Spark Streaming的案例分析

从网上找来一篇英文文章,如下

Spark Streaming的案例分析

单词统计结果如下

Spark Streaming的案例分析

在Spark UI上观察发现有4个Job

Spark Streaming的案例分析

首先查看Job 0发现SparkStreaming在刚启动时会提交一个Job

Spark Streaming的案例分析

StreamingContext的start方法中调用了JobScheduler的start方法

Spark Streaming的案例分析

继续看JobScheduler类的start方法

Spark Streaming的案例分析

Spark Streaming的案例分析

Spark Streaming的案例分析

从注释中说明该方法是为了确保每个Slave都注册上,避免所有的Receiver在同一个节点,为了后面计算负载均衡

Job1一直在运行是因为它不断接收数据流中的数据,运行在Worker1上并且运行1个Task来接收数据,数据本地性为PROCESS_LOCAL,receiver接收到数据会保存到内存中。

Spark Streaming的案例分析

Spark Streaming的案例分析

Spark Streaming的案例分析

Job2的信息如下

Spark Streaming的案例分析

其中Stage3信息如下

Spark Streaming的案例分析

其中Stage4信息如下

Spark Streaming的案例分析

Job3的信息如下,Job3的DAG图和Job2的DAG图是一样的,但是Stage5跳过了。

Spark Streaming的案例分析

后面的Job都是在对单词切分统计。

Spark Streaming的案例分析

     回顾这4个Job,其中2个Job是框架运行的,Job0确保所有slave都注册上,避免所有的Receiver在同一个节点,为了后面计算负载均衡。Job1为启动一个数据接收器,运行在一个Executor上的一个Task上,不断接收数据量数据,然后保存到内存中。Job2和Job3在运行单词切分统计。

感谢各位的阅读,以上就是“Spark Streaming的案例分析”的内容了,经过本文的学习后,相信大家对Spark Streaming的案例分析这一问题有了更深刻的体会,具体使用情况还需要大家实践验证。这里是亿速云,小编将为大家推送更多相关知识点的文章,欢迎关注!

推荐阅读:
  1. 从 Spark Streaming 到 Apache Flink : 实时数据流在爱奇艺的演进
  2. 大数据分析技术与实战之 Spark Streaming

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

spark streaming

上一篇:Spark Streaming初始化如何实现

下一篇:Linux sftp命令的用法是怎样的

相关阅读

您好,登录后才能下订单哦!

密码登录
登录注册
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》