Spark Streaming:案例動手實(shí)戰(zhàn)并在電光石火間理解其工作原理

案例動手實(shí)戰(zhàn)并在電光石火間理解其工作原理

? ? ? 流(Streaming)劈猿,在大數(shù)據(jù)時代為數(shù)據(jù)流處理畦幢,就像水流一樣坎吻,是數(shù)據(jù)流;既然是數(shù)據(jù)流處理宇葱,就會想到數(shù)據(jù)的流入瘦真、數(shù)據(jù)的加工、數(shù)據(jù)的流出黍瞧。

? ? ? 日常工作诸尽、生活中數(shù)據(jù)來源很多不同的地方。例如:工業(yè)時代的汽車制造印颤、監(jiān)控設(shè)備您机、工業(yè)設(shè)備會產(chǎn)生很多源數(shù)據(jù);信息時代的電商網(wǎng)站年局、日志服務(wù)器际看、社交網(wǎng)絡(luò)、金融交易系統(tǒng)某宪、黑客攻擊仿村、垃圾郵件、交通監(jiān)控等兴喂;通信時代的手機(jī)蔼囊、平板、智能設(shè)備衣迷、物聯(lián)網(wǎng)等會產(chǎn)生很多實(shí)時數(shù)據(jù)畏鼓,數(shù)據(jù)流無處不在。

在大數(shù)據(jù)時代SparkStreaming能做什么壶谒?

? ? ? 平時用戶都有網(wǎng)上購物的經(jīng)歷云矫,用戶在網(wǎng)站上進(jìn)行的各種操作通過Spark Streaming流處理技術(shù)可以被監(jiān)控,用戶的購買愛好汗菜、關(guān)注度让禀、交易等可以進(jìn)行行為分析。在金融領(lǐng)域陨界,通過Spark Streaming流處理技術(shù)可以對交易量很大的賬號進(jìn)行監(jiān)控巡揍,防止罪犯洗錢、財產(chǎn)轉(zhuǎn)移菌瘪、防欺詐等腮敌。在網(wǎng)絡(luò)安全性方面,黑客攻擊時有發(fā)生,通過Spark Streaming流處理技術(shù)可以將某類可疑IP進(jìn)行監(jiān)控并結(jié)合機(jī)器學(xué)習(xí)訓(xùn)練模型匹配出當(dāng)前請求是否屬于黑客攻擊糜工。其他方面弊添,如:垃圾郵件監(jiān)控過濾、交通監(jiān)控捌木、網(wǎng)絡(luò)監(jiān)控油坝、工業(yè)設(shè)備監(jiān)控的背后都是Spark Streaming發(fā)揮強(qiáng)大流處理的地方。

大數(shù)據(jù)時代钮莲,數(shù)據(jù)價值一般怎么定義免钻?

? ? ? ?所有沒經(jīng)過流處理的數(shù)據(jù)都是無效數(shù)據(jù)或沒有價值的數(shù)據(jù)彼水;數(shù)據(jù)產(chǎn)生之后立即處理產(chǎn)生的價值是最大的崔拥,數(shù)據(jù)放置越久或越滯后其使用價值越低。以前絕大多數(shù)電商網(wǎng)站盈利走的是網(wǎng)絡(luò)流量(即用戶的訪問量)凤覆,如今链瓦,電商網(wǎng)站不僅僅需要關(guān)注流量、交易量盯桦,更重要的是要通過數(shù)據(jù)流技術(shù)讓電商網(wǎng)站的各種數(shù)據(jù)流動起來慈俯,通過實(shí)時流動的數(shù)據(jù)及時分析、挖掘出各種有價值的數(shù)據(jù)拥峦;比如:對不同交易量的用戶指定用戶畫像贴膘,從而提供不同服務(wù)質(zhì)量;準(zhǔn)對用戶訪問電商網(wǎng)站板塊愛好及時推薦相關(guān)的信息略号。

SparkStreaming VSHadoopMR:

? ? ? Spark Streaming是一個準(zhǔn)實(shí)時流處理框架刑峡,而Hadoop MR是一個離線、批處理框架玄柠;很顯然突梦,在數(shù)據(jù)的價值性角度,Spark Streaming完勝于Hadoop MR羽利。

SparkStreaming VS Storm:

? ? ? Spark Streaming是一個準(zhǔn)實(shí)時流處理框架宫患,處理響應(yīng)時間一般以分鐘為單位,也就是說處理實(shí)時數(shù)據(jù)的延遲時間是秒級別的这弧;Storm是一個實(shí)時流處理框架娃闲,處理響應(yīng)是毫秒級的。所以在流框架選型方面要看具體業(yè)務(wù)場景匾浪。需要澄清的是現(xiàn)在很多人認(rèn)為Spark Streaming流處理運(yùn)行不穩(wěn)定皇帮、數(shù)據(jù)丟失、事務(wù)性支持不好等等户矢,那是因?yàn)楹芏嗳瞬粫{馭Spark Streaming及Spark本身玲献。在Spark Streaming流處理的延遲時間方面,DT_Spark大數(shù)據(jù)夢工廠即將推出的Spark定制版本,會將Spark Streaming的延遲從秒級別推進(jìn)到100毫秒之內(nèi)甚至更少捌年。

SparkStreaming優(yōu)點(diǎn):

1瓢娜、提供了豐富的API,企業(yè)中能快速實(shí)現(xiàn)各種復(fù)雜的業(yè)務(wù)邏輯礼预。

2眠砾、流入Spark Streaming的數(shù)據(jù)流通過和機(jī)器學(xué)習(xí)算法結(jié)合,完成機(jī)器模擬和圖計算托酸。

3褒颈、Spark Streaming基于Spark優(yōu)秀的血統(tǒng)。

SparkStreaming能不能像Storm一樣励堡,一條一條處理數(shù)據(jù)谷丸?

Storm處理數(shù)據(jù)的方式是以條為單位來一條一條處理的,而Spark Streaming基于單位時間處理數(shù)據(jù)的应结,SparkStreaming能不能像Storm一樣呢刨疼?答案是:可以的。

業(yè)界一般的做法是Spark Streaming和Kafka搭檔即可達(dá)到這種效果,入下圖:

Kafka業(yè)界認(rèn)同最主流的分布式消息框架鹅龄,此框架即符合消息廣播模式又符合消息隊(duì)列模式揩慕。

Kafka內(nèi)部使用的技術(shù):

1、??Cache

2扮休、??Interface

3迎卤、??Persistence(默認(rèn)最大持久化一周)

4、??Zero-Copy技術(shù)讓Kafka每秒吞吐量幾百兆玷坠,而且數(shù)據(jù)只需要加載一次到內(nèi)核提供其他應(yīng)用程序使用

外部各種源數(shù)據(jù)推進(jìn)(Push)Kafka蜗搔,然后再通過Spark Streaming抓取(Pull)數(shù)據(jù)侨糟,抓取的數(shù)據(jù)量可以根據(jù)自己的實(shí)際情況確定每一秒中要處理多少數(shù)據(jù)碍扔。

通過Spark Streaming動手實(shí)戰(zhàn)wordCount實(shí)例

這里是運(yùn)行一個Spark Streaming的程序:統(tǒng)計這個時間段內(nèi)流進(jìn)來的單詞出現(xiàn)的次數(shù). 它計算的是:他規(guī)定的時間段內(nèi)每個單詞出現(xiàn)了多少次。

1秕重、先啟動下Spark集群:

我們從集群里面打開下官方網(wǎng)站

接受這個數(shù)據(jù)進(jìn)行加工不同,就是流處理的過程,剛才那個WordCount就是以1s做一個單位溶耘。

剛才運(yùn)行的時候二拐,為什么沒有結(jié)果呢?因?yàn)樾枰獢?shù)據(jù)源凳兵。

2百新、獲取數(shù)據(jù)源:

新開一個命令終端,然后輸入:

$nc?-lk?9999

現(xiàn)在我們拷貝數(shù)據(jù)源進(jìn)入運(yùn)行:

然后按回車運(yùn)行

DStream和RDD關(guān)系:

沒有輸入數(shù)據(jù)會打印的是空結(jié)果:

但是實(shí)際上庐扫,Job的執(zhí)行是Spark Streaming框架幫我們產(chǎn)生的和開發(fā)者自己寫的Spark代碼業(yè)務(wù)邏輯沒有關(guān)系饭望,而且Spark Streaming框架的執(zhí)行時間間隔可以手動配置仗哨,如:每隔一秒鐘就會產(chǎn)生一次Job的調(diào)用。所以在開發(fā)者編寫好的Spark代碼時(如:flatmap铅辞、map厌漂、collect),不會導(dǎo)致job的運(yùn)行斟珊,job運(yùn)行是Spark Streaming框架產(chǎn)生的苇倡,可以配置成每隔一秒中都會產(chǎn)生一次job調(diào)用。

Spark Streaming流進(jìn)來的數(shù)據(jù)是DStream囤踩,但Spark Core框架只認(rèn)RDD旨椒,這就產(chǎn)生矛盾了?

Spark Streaming框架中堵漱,作業(yè)實(shí)例的產(chǎn)生都是基于rdd實(shí)例來產(chǎn)生综慎,你寫的代碼是作業(yè)的模板,即rdd是作業(yè)的模板怔锌,模板一運(yùn)行rdd就會被執(zhí)行寥粹,此時action必須處理數(shù)據(jù)变过。RDD的模板就是DStream離散流埃元,RDD之間存在依賴關(guān)系,DStream就有了依賴關(guān)系媚狰,也就構(gòu)成了DStream 有向無環(huán)圖岛杀。這個DAG圖,是模板崭孤。Spark Streaming只不過是在附在RDD上面一層薄薄的封裝而已类嗤。你寫的代碼不能產(chǎn)生Job,只有框架才能產(chǎn)生Job.

如果一秒內(nèi)計算不完數(shù)據(jù),就只能調(diào)優(yōu)了.

作者:王家林

王家林微博辨宠,每日都有驚人spark技術(shù)內(nèi)幕報出:http://weibo.com/ilovepains

資料來源于:DT_大數(shù)據(jù)夢工廠(IMF傳奇行動絕密課程)

更多私密內(nèi)容遗锣,請關(guān)注微信公眾號:DT_Spark

如果您對大數(shù)據(jù)Spark感興趣,可以免費(fèi)聽由王家林老師每天晚上20:00開設(shè)的Spark永久免費(fèi)公開課嗤形,地址YY房間號:68917580

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末精偿,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子赋兵,更是在濱河造成了極大的恐慌笔咽,老刑警劉巖,帶你破解...
    沈念sama閱讀 216,470評論 6 501
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件霹期,死亡現(xiàn)場離奇詭異叶组,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī)历造,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,393評論 3 392
  • 文/潘曉璐 我一進(jìn)店門甩十,熙熙樓的掌柜王于貴愁眉苦臉地迎上來船庇,“玉大人,你說我怎么就攤上這事侣监∫缡” “怎么了?”我有些...
    開封第一講書人閱讀 162,577評論 0 353
  • 文/不壞的土叔 我叫張陵达吞,是天一觀的道長张弛。 經(jīng)常有香客問我,道長酪劫,這世上最難降的妖魔是什么吞鸭? 我笑而不...
    開封第一講書人閱讀 58,176評論 1 292
  • 正文 為了忘掉前任,我火速辦了婚禮覆糟,結(jié)果婚禮上刻剥,老公的妹妹穿的比我還像新娘。我一直安慰自己滩字,他們只是感情好造虏,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,189評論 6 388
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著麦箍,像睡著了一般漓藕。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上挟裂,一...
    開封第一講書人閱讀 51,155評論 1 299
  • 那天享钞,我揣著相機(jī)與錄音,去河邊找鬼诀蓉。 笑死栗竖,一個胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的渠啤。 我是一名探鬼主播狐肢,決...
    沈念sama閱讀 40,041評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼沥曹!你這毒婦竟也來了份名?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 38,903評論 0 274
  • 序言:老撾萬榮一對情侶失蹤架专,失蹤者是張志新(化名)和其女友劉穎同窘,沒想到半個月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體部脚,經(jīng)...
    沈念sama閱讀 45,319評論 1 310
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡想邦,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,539評論 2 332
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了委刘。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片丧没。...
    茶點(diǎn)故事閱讀 39,703評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡鹰椒,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出呕童,到底是詐尸還是另有隱情漆际,我是刑警寧澤,帶...
    沈念sama閱讀 35,417評論 5 343
  • 正文 年R本政府宣布夺饲,位于F島的核電站奸汇,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏往声。R本人自食惡果不足惜擂找,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,013評論 3 325
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望浩销。 院中可真熱鬧贯涎,春花似錦、人聲如沸慢洋。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,664評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽普筹。三九已至败明,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間斑芜,已是汗流浹背肩刃。 一陣腳步聲響...
    開封第一講書人閱讀 32,818評論 1 269
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留杏头,地道東北人。 一個月前我還...
    沈念sama閱讀 47,711評論 2 368
  • 正文 我出身青樓沸呐,卻偏偏與公主長得像醇王,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子崭添,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,601評論 2 353

推薦閱讀更多精彩內(nèi)容