sparkstreaming(1)——实战
在spark的一開(kāi)篇(可以見(jiàn)我的spark(1)這篇博客),我們就談到了sparkstreaming可以快速的處理數(shù)據(jù)流。
我們可以從sparkstreaming處理新的流式數(shù)據(jù)再傳給sparksql進(jìn)行計(jì)算,或者spark生態(tài)中的MLlib去進(jìn)行數(shù)據(jù)的實(shí)時(shí)更新進(jìn)行機(jī)器學(xué)習(xí)等。
類(lèi)比于spark-core和sparksql,寫(xiě)sparkstreaming代碼也要?jiǎng)?chuàng)建自己的上下文Streaming Context(通過(guò)spark context來(lái)獲取streaming context,并且還要指定一個(gè)時(shí)間間隔),通過(guò)Streaming Context獲取到的數(shù)據(jù)可以稱(chēng)為DStreams模型,如果一個(gè)Streaming Context已經(jīng)開(kāi)啟,那么就不允許新的DStream建立,并且當(dāng)Streaming Context停止以后,就不允許重新啟動(dòng),DStreams模型是由一串連續(xù)的RDD構(gòu)成,每個(gè)RDD都有前面定義的時(shí)間間隔內(nèi)的數(shù)據(jù),所以操作DStreams里的數(shù)據(jù)其實(shí)也是操作RDD。
處理DSream的邏輯一定要在開(kāi)啟Streaming Context之前寫(xiě)完,一旦開(kāi)啟就不能添加新的邏輯方式。
我們?cè)趐ython中寫(xiě)好如下代碼:
在linux下開(kāi)啟10008端口服務(wù)
隨便輸入一些字符串觀察pycharm中的結(jié)果:
可以見(jiàn)到,數(shù)據(jù)流進(jìn)來(lái)并被spark streaming處理
總結(jié)
以上是生活随笔為你收集整理的sparkstreaming(1)——实战的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: sparksql(3)——datafra
- 下一篇: sparkstreaming(2)——u