轉(zhuǎn)帖|行業(yè)資訊|編輯:郝浩|2016-06-15 10:47:32.000|閱讀 229 次
概述:本文闡述了為什么比起Hadoop之類的知名技術(shù),類似Apache Storm這樣的系統(tǒng)更加有用。
# 界面/圖表報(bào)表/文檔/IDE等千款熱門軟控件火熱銷售中 >>
讓我們以經(jīng)典的筆記本品牌實(shí)時(shí)情感分析(SENTIMENT ANALYSIS)為例,在進(jìn)行觀點(diǎn)分析時(shí),處理流程應(yīng)當(dāng)如下圖所示:
現(xiàn)在的問題在于:是否能夠通過大數(shù)據(jù)系統(tǒng)來解決,請(qǐng)使用Hadoop來執(zhí)行下列處理:
如果我們運(yùn)行Hive Query、Pig Script或MapReduce的話,由于必須從HDFS(從硬盤讀取)中讀取數(shù)據(jù),整個(gè)處理過程需要耗費(fèi)數(shù)小時(shí)才能進(jìn)行處理,因此理論上來說是無法實(shí)時(shí)執(zhí)行數(shù)據(jù)處理的(它們遵循靜態(tài)數(shù)據(jù)原則)。
由于Hadoop設(shè)計(jì)時(shí)就是為了執(zhí)行批處理,而且需要花費(fèi)數(shù)小時(shí)才能生成結(jié)果,因此針對(duì)Hadoop是否能夠執(zhí)行實(shí)時(shí)處理的問題,答案是否定的。
總結(jié)一下,由于所使用的是基于批處理的方式,Hadoop無法解決實(shí)時(shí)問題。
有很多需要我們執(zhí)行實(shí)時(shí)數(shù)據(jù)處理的用例,比如:
那么現(xiàn)在我們?nèi)绾翁幚磉@類特殊的問題呢?我們需要使用一些實(shí)時(shí)的流數(shù)據(jù)機(jī)制(一切都在內(nèi)存中完成,遵循動(dòng)態(tài)數(shù)據(jù)原則)。
實(shí)時(shí)處理的典型流程如下圖:
不過想要使用這種方法,需要先解決下面這些問題:
有一些類似Apache Storm之類的實(shí)時(shí)數(shù)據(jù)流機(jī)制能夠幫助我們解決這些問題。現(xiàn)在我們?cè)囍卮鹕厦娴膯栴},看使用Apache Storm能否得出答案。
數(shù)據(jù)以元組的形式發(fā)送。
Storm是一個(gè)分布式平臺(tái),允許用戶將更多節(jié)點(diǎn)添加到Storm集群運(yùn)行環(huán)境中,以增加應(yīng)用的吞吐量。
在Storm中,工作是通過集群中的worker來執(zhí)行的。如果有一個(gè)worker宕掉,Storm就會(huì)重啟該worker,而如果worker所在的節(jié)點(diǎn)也宕掉,則Storm就會(huì)重啟集群中一些其他節(jié)點(diǎn)上的worker。
Storm如果該元組在處理時(shí)出現(xiàn)故障,Storm會(huì)重啟出錯(cuò)的元組。
可以在任何編程語言中編寫。即使Storm平臺(tái)運(yùn)行在JVM之上,運(yùn)行在上面的應(yīng)用也可以用任何編程語言編寫,可以使用標(biāo)準(zhǔn)的I/O來讀寫。
希望本文有助于澄清:利用Apache Storm之類的工具處理大數(shù)據(jù)問題時(shí),在實(shí)時(shí)流數(shù)據(jù)中的使用問題。
本文譯者Vera,原文:
本站文章除注明轉(zhuǎn)載外,均為本站原創(chuàng)或翻譯。歡迎任何形式的轉(zhuǎn)載,但請(qǐng)務(wù)必注明出處、不得修改原文相關(guān)鏈接,如果存在內(nèi)容上的異議請(qǐng)郵件反饋至chenjj@fc6vip.cn