pyspark(四):sparkStreaming

一、基本概念

1.1 兩種數(shù)據(jù)處理方式

批處理:MapReduce、Spark、Flink

流式處理:Storm、Spark、Flink

Spark和Flink都兼具批處理和流式處理,但原理不同。Spark認(rèn)為批處理是常態(tài),流式處理是一個(gè)特例,所以是微批micro batch。而Flink剛好相反,認(rèn)為流處理是常態(tài),批處理是流處理的一個(gè)特例,所以有window時(shí)間窗口的概念。


二、實(shí)例

2.1 腳本

from pyspark import SparkContext,SparkConf

from pyspark.streaming import StreamingContext


conf = SparkConf().setMaster("local[2]").setAppName("NetworkWordCount")

sc = SparkContext(conf=conf)

#We create a local StreamingContext with two execution threads, and batch interval of 1 second.

? ? ssc = StreamingContext(sc,3)

lines = ssc.socketTextStream("localhost",9999)

words = lines.flatMap(lambda x:x.split(" "))

pairs = words.map(lambda x:(x,1))

wordCounts = pairs.reduceByKey(lambda x,y:x+y)

wordCounts.pprint()

ssc.start()

ssc.awaitTermination()

2.2 cmd中輸入

nc -lk 9999

然后輸入一些字符,以空格隔開,換行表示輸入完成

2.3 運(yùn)行結(jié)果

-------------------------------------------

Time: 2020-06-28 19:47:15

-------------------------------------------

('b', 3)

('c', 2)

('a', 4)

('e', 2)

('d', 1)

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

友情鏈接更多精彩內(nèi)容