如何進行Spark中SparkStreaming的分析

今天就跟大家聊聊有關(guān)如何進行Spark中Spark Streaming的分析,可能很多人都不太了解,為了讓大家更加了解,小編給大家總結(jié)了以下內(nèi)容,希望大家根據(jù)這篇文章可以有所收獲。

創(chuàng)新互聯(lián)是一家專注網(wǎng)站建設(shè)、網(wǎng)絡(luò)營銷策劃、微信小程序開發(fā)、電子商務(wù)建設(shè)、網(wǎng)絡(luò)推廣、移動互聯(lián)開發(fā)、研究、服務(wù)為一體的技術(shù)型公司。公司成立十年以來,已經(jīng)為成百上千成都不銹鋼雕塑各業(yè)的企業(yè)公司提供互聯(lián)網(wǎng)服務(wù)。現(xiàn)在,服務(wù)的成百上千客戶與我們一路同行,見證我們的成長;未來,我們一起分享成功的喜悅。

概覽

Spark Streaming是Spark  API的一個可橫向擴容,高吞吐量,容錯的實時數(shù)據(jù)流處理引擎,Spark能夠從Kafka、Flume、Kinesis或者TCP等等輸入獲取數(shù)據(jù),然后能夠使用復(fù)雜的計算表達式如map,reduce,join和window對數(shù)據(jù)進行計算。計算完后的數(shù)據(jù)能夠被推送到文件系統(tǒng),數(shù)據(jù)庫,和實時的儀表盤。另外,你也可以使用Spark  ML和圖計算處理實時數(shù)據(jù)流。

如何進行Spark中Spark Streaming的分析

Spark Streaming接受到了實時數(shù)據(jù)后,把它們分批進行切割,然后再交給Spark進行數(shù)據(jù)的批量處理。

如何進行Spark中Spark Streaming的分析

Spark  Streaming對離散化的數(shù)據(jù)流提供了高級別的抽象DStream,所有進入的數(shù)據(jù)流都會被處理為DStreams,在內(nèi)部,DStream是一個順序排列的RDD。

快速起步

第一個實例是如何從TCP輸入中計算單詞出現(xiàn)的次數(shù)

首先,我們創(chuàng)建一個JavaStreamingContext對象,它是所有Streaming函數(shù)的主入口,再創(chuàng)建一個帶有2個線程的StreamingContext對象,每1秒進行一次批處理。

import org.apache.spark.*; import org.apache.spark.api.java.function.*; import org.apache.spark.streaming.*; import org.apache.spark.streaming.api.java.*; import scala.Tuple2;  SparkConf conf = new SparkConf().setMaster("local[2]").setAppName("NetworkWordCount"); JavaStreamingContext jssc = new JavaStreamingContext(conf, Durations.seconds(1));

創(chuàng)建一個偵聽本地9999的TCP數(shù)據(jù)源

JavaReceiverInputDStream<String> lines = jssc.socketTextStream("localhost", 9999);

我們把接受到的數(shù)據(jù)按照空格進行切割

JavaDStream<String> words = lines.flatMap(x -> Arrays.asList(x.split(" ")).iterator());

對單詞進行統(tǒng)計

JavaPairDStream<String, Integer> pairs = words.mapToPair(s -> new Tuple2<>(s, 1)); JavaPairDStream<String, Integer> wordCounts = pairs.reduceByKey((i1, i2) -> i1 + i2);  wordCounts.print();

把字符串拍扁->映射->進行去重統(tǒng)計,***調(diào)用print函數(shù)把數(shù)據(jù)打印到控制臺中

jssc.start();              // Start the computation jssc.awaitTermination();   // Wait for the computation to terminate

最后,啟動整個計算過程

為了完成這次實驗,還需要使用nc作為Server進行配合

nc -lk 9999

Spark提供了示例,可以使用 ./bin/run-example streaming.JavaNetworkWordCount localhost  9999 來體驗WordCount

看完上述內(nèi)容,你們對如何進行Spark中Spark Streaming的分析有進一步的了解嗎?如果還想了解更多知識或者相關(guān)內(nèi)容,請關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道,感謝大家的支持。

文章名稱:如何進行Spark中SparkStreaming的分析
文章起源:http://muchs.cn/article20/isjojo.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供面包屑導(dǎo)航、手機網(wǎng)站建設(shè)、定制網(wǎng)站、搜索引擎優(yōu)化品牌網(wǎng)站制作、軟件開發(fā)

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

成都網(wǎng)頁設(shè)計公司