SparkStreaming简介 - 与第一个Spark实时计算程序,使用netcat来写数据 - wordcount
生活随笔
收集整理的這篇文章主要介紹了
SparkStreaming简介 - 与第一个Spark实时计算程序,使用netcat来写数据 - wordcount
小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
官方文檔
Spark Streaming 火花流是spark API的擴(kuò)展,它支持可伸縮、高吞吐量、容錯(cuò)的實(shí)時(shí)數(shù)據(jù)流處理。
數(shù)據(jù)可以從多種來源(如Kafka、Flume、Kinesis或tcp套接字)中攝取,并且可以使用用高級函數(shù)表示的復(fù)雜算法進(jìn)行處理,例如map, reduce, join和window…最后,可以將處理過的數(shù)據(jù)推送到文件系統(tǒng)、數(shù)據(jù)庫和活動(dòng)儀表板。事實(shí)上,你可以申請星火機(jī)器學(xué)習(xí)和圖形處理數(shù)據(jù)流算法。
在內(nèi)部,它的工作方式如下。火花流接收實(shí)時(shí)輸入數(shù)據(jù)流,并將數(shù)據(jù)分成幾個(gè)批次,然后由火花引擎進(jìn)行處理,生成最終的結(jié)果流。
火花流提供了一個(gè)名為離散流或DStream表示連續(xù)的數(shù)據(jù)流。DStreams可以從Kafka、Flume和Kinesis等源的輸入數(shù)據(jù)流中創(chuàng)建,也可以通過對其他DStreams應(yīng)用高級操作來創(chuàng)建。在內(nèi)部,dStream表示為RDD
也就是SparkStreaming是用DStream來操作的與Spark Core里RDD操作一樣
下面來是第一個(gè)程序wordcount
maven配置pom.xml
<!--SparkStreaming--><dependency><groupId>org.apache.spark</groupId><artifactId>spark-streaming_2.11</artifactId><version>2.1.1</version></dependency> package date_10_16_SparkStreaming import org.apache.spark.{SparkConf, streaming} import org.apache.spark.streaming.{Seconds, StreamingContext} object wordCount {def main(args: Array[String]): Unit = {//使用SparkStreaming完成wordcount//配置對象val conf = new SparkConf().setMaster("local[*]").setAppName("wordcount")//實(shí)時(shí)數(shù)據(jù)分析的環(huán)境對象//StreamingContext需要兩個(gè)參數(shù),一個(gè)conf,一個(gè)是采集周期val streamingContext = new StreamingContext(conf,Seconds(3))//從指定的端口中采集數(shù)據(jù)val socketLineDstream = streamingContext.socketTextStream("chun1",9999)//將采集的數(shù)據(jù)進(jìn)行分解(扁平化)val wordToSumDstream = socketLineDstream.flatMap(_.split(" ")).map((_,1)).reduceByKey(_+_)wordToSumDstream.print()//這里不能停止采集功能,也就是streamingContext不能結(jié)束//可以簡單理解為啟動(dòng)采集器streamingContext.start()//Driver等待采集器,采集器不挺Driver不停止streamingContext.awaitTermination()} }打開虛擬機(jī)安裝netcat,這里用netcat來寫數(shù)據(jù)
yum install -y nc安裝完成后輸入nc -lk 9999
運(yùn)行上面程序
在netcat輸入數(shù)據(jù),這里設(shè)定的每三秒為一個(gè)采集周期
看到的結(jié)果如下所示
總結(jié)
以上是生活随笔為你收集整理的SparkStreaming简介 - 与第一个Spark实时计算程序,使用netcat来写数据 - wordcount的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 爱优腾全面涨价后 乐视发布会员不涨价通知
- 下一篇: CCNA-第四篇-OSI模型-下