亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定

Spark Streaming

標簽:
Spark

Spark treaming简介

Spark Streaming是Spark中的一个组件,具有高吞吐量,容错能力强的特点,基于Spark Core进行构建,也能够与Spark core.Spark SQL进行混合编程,用于对流式进行处理,类似于Storm.

Spark Streaming的输入和输出

webp

SS的输入输出

如上图所示,Spark Streming是流式数据的一个主要处理组件,左边是数据源的输入,右边是数据源的输出,此外,Spark Streaming也能和MLlib(机器学习)以及Graphx完美融合

DStream

Spark Streaming有一个针对流式计算的组件,叫DStream,正如Spark core的组件RDD,Saprk SQL的组件DataFrame和DataSet.

webp

DStream的源码

在源码中DStream是通过HashMap来保存他所管理的数据流的。K是RDD中数据流的时间,V是包含数据流的RDD。

webp

数据传输示意图

DStream采用微批次架构处理,它是由一堆RDD组成的集合,它的工作原理是将输入的数据切割成一个个单位时间内的RDD,于是每个单位时间内都有一个RDD,然后每一个RDD又会通过Saprk

Core处理成新的流.,因此Spark Streaming输出的是单位时间内一节一节的流,然后递给Saprk

Core后,它输出的也是一节一节的流(RDD组成的序列)

Streaming的输入数据源

Streaming的数据源分为三种方式:文件数据源 / 自定义数据源 / RDD队列

文件数据源: Spark Streaming会监控一个目录,这个目录会是HDFS的目录,这个目录下面一旦有文件进入,Streaming就会处理这个文件的信息.,前提是这些文件具有相同的格式,可以通过移动来实现文件进入

自定义数据源:

自定义数据源通过继承Receiver,实现onStart.onStop方法来自定义数据源采集,具体步骤如下:

1. 新建一个class去继承Receiver,并给Receiver传入一个类型的参数,该类型参数是你需要接收的数据的类型.

2.重写Receiver的方法,onStart方法(在Receiver启动的时候调用的方法). onStop方法(在Receiver正常体制的情况下调用的方法)

3.在程序中通过streamingContext.receiverStream(new CustomeReceiver)来调用你的定制化Receiver.

webp

代码

webp

webp

代码写好后,打成jar包,在hadoop下启动发射语句 nc -lk 9999,再在spark下启动那个jar,就OK了

RDD队列

RDD队列是streamingContext()的实例,调用queuestream(RDD),里面传入一个RDD队列,代码如下:

webp

RDD队列数据源

Streaming和Kafka的对接

数据进入kafka输入端,形成一个kafka队列,队列依次进入streaming里,通过streaming的处理,在通过kafka的输出端输出来

先启动zookeeper,再启动kafka  bin/kafka-server-start.sh-daemon ./config/server.properties

下次补充..

Streaming和Flume的对接

下次补充..



作者:终生学习丶
链接:https://www.jianshu.com/p/fa906e8d692c


點擊查看更多內容
TA 點贊

若覺得本文不錯,就分享一下吧!

評論

作者其他優質文章

正在加載中
  • 推薦
  • 評論
  • 收藏
  • 共同學習,寫下你的評論
感謝您的支持,我會繼續努力的~
掃碼打賞,你說多少就多少
贊賞金額會直接到老師賬戶
支付方式
打開微信掃一掃,即可進行掃碼打賞哦
今天注冊有機會得

100積分直接送

付費專欄免費學

大額優惠券免費領

立即參與 放棄機會
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號

舉報

0/150
提交
取消