更新時(shí)間:2020-05-29 來(lái)源:黑馬程序員 瀏覽量:
近年來(lái),Web應(yīng)用、網(wǎng)絡(luò)監(jiān)控、傳感監(jiān)測(cè)、電信金融、生產(chǎn)制造等領(lǐng)域,對(duì)數(shù)據(jù)實(shí)時(shí)處理的需求不斷增強(qiáng),而Spark中的SparkStreaming實(shí)時(shí)計(jì)算框架就是為了實(shí)現(xiàn)對(duì)數(shù)據(jù)實(shí)時(shí)處理的需求而設(shè)計(jì)的。在電子商務(wù)中,淘寶、京東等網(wǎng)站從用戶(hù)點(diǎn)擊的行為(如加入購(gòu)物車(chē))和瀏覽的歷史記錄中發(fā)現(xiàn)用戶(hù)的購(gòu)買(mǎi)意圖和興趣,然后通過(guò)Sparkstreaming實(shí)時(shí)計(jì)算框架分析處理,為之推薦相關(guān)商品,從而有效地提高商品的銷(xiāo)售量,同時(shí)也增加了用戶(hù)的滿(mǎn)意度,可謂是“一舉兩得”。下面我們介紹實(shí)時(shí)計(jì)算的框架。
什么是實(shí)時(shí)計(jì)算?
傳統(tǒng)的數(shù)據(jù)處理流程(離線計(jì)算),先是收集數(shù)據(jù),然后將數(shù)據(jù)存儲(chǔ)到數(shù)據(jù)庫(kù)中。當(dāng)需要某些數(shù)據(jù)時(shí),可以通過(guò)對(duì)數(shù)據(jù)庫(kù)中的數(shù)據(jù)做操作,得到所需要的數(shù)據(jù),再進(jìn)行其他相關(guān)的處理。這樣的處理流程會(huì)造成結(jié)果數(shù)據(jù)密集,結(jié)果數(shù)據(jù)密集則數(shù)據(jù)反饋不及時(shí)。在實(shí)時(shí)搜索的應(yīng)用場(chǎng)景中,需要實(shí)時(shí)數(shù)據(jù)做決策,而傳統(tǒng)的數(shù)據(jù)處理并不能很好地解決問(wèn)題,這就引出了一種新的數(shù)據(jù)計(jì)算一實(shí)時(shí)計(jì)算,它可以針對(duì)海量數(shù)據(jù)進(jìn)行實(shí)時(shí)計(jì)算,無(wú)論是在數(shù)據(jù)采集還是數(shù)據(jù)處理中,都可以達(dá)到秒級(jí)別的處理要求。
在大數(shù)據(jù)技術(shù)中,有離線計(jì)算、批量計(jì)算、實(shí)時(shí)計(jì)算以及流式計(jì)算,其中,離線計(jì)算和實(shí)時(shí)計(jì)算指的是數(shù)據(jù)處理的延遲;批量計(jì)算和流式計(jì)算指的是數(shù)據(jù)處理的方式。
常用的實(shí)計(jì)算框架
目前,業(yè)內(nèi)已經(jīng)衍生出許多實(shí)時(shí)計(jì)算數(shù)據(jù)的框架,如 Apache Spark Streaming、ApacheStorn、Apache Flink以及 Yahoo! S4。
1、 Apache Spark Streaming
Apache Spark
Streaming即Apache公司免費(fèi)、開(kāi)源的實(shí)時(shí)計(jì)算框架。它主要是把輸入的數(shù)據(jù)按時(shí)間進(jìn)行切分,并對(duì)切分的數(shù)據(jù)塊進(jìn)行并行計(jì)算處理,處理的速度可以達(dá)到秒級(jí)別。Netflix公司通過(guò)Kaka和SparkStreaming構(gòu)建了實(shí)時(shí)引擎,對(duì)每天從各種數(shù)據(jù)源接收到的數(shù)十億數(shù)據(jù)進(jìn)行分析,從而完成電影的推薦功能。
2、 Apache Storm
Apache Storm即Twitter公司免費(fèi)、開(kāi)源貢獻(xiàn)給Apache的一個(gè)分布式實(shí)時(shí)計(jì)算系統(tǒng)。它可以簡(jiǎn)單、高效、可靠地實(shí)時(shí)處理海量數(shù)據(jù),處理數(shù)據(jù)的速度達(dá)到毫秒級(jí)別,并可將處理后的結(jié)果數(shù)據(jù)保存到持久化介質(zhì)中(如數(shù)據(jù)庫(kù)、HDFS)。阿里巴巴公司的Jstorm,就是參考ApacheStorn開(kāi)發(fā)的實(shí)時(shí)計(jì)算框架,可以說(shuō)是Stom的增強(qiáng)版本,在網(wǎng)絡(luò)IO、線程模型、資源調(diào)度、可用性及穩(wěn)定性上都做了極大的改進(jìn),供很多企業(yè)使用。
3、 Apache Flink
Apache
Flink即Apache公司開(kāi)源的計(jì)算框架。它不僅可以支持離線處理,還可以支持實(shí)時(shí)處理。由于離線處理和實(shí)時(shí)處理所提供的SLA(服務(wù)等級(jí)協(xié)議)是完全不相同的,所以離線處理一般需要支持低延遲的保證,而實(shí)時(shí)處理則需要支持高吞吐、高效率的處理。
4、 Yahoo! S4(Simple Scalable Streaming System)
Yahoo! S4即Yahoo公司開(kāi)源的實(shí)時(shí)計(jì)算平臺(tái)。它是通用的、分布式的、可擴(kuò)展的,并且還具有容錯(cuò)和可插拔能力,供開(kāi)發(fā)者輕松地處理源源不斷產(chǎn)生的數(shù)據(jù)。
猜你喜歡:
Kafka是什么?kafka有什么優(yōu)點(diǎn)?
2020-05-29大數(shù)據(jù)系統(tǒng)中的消息傳遞模式【大數(shù)據(jù)培訓(xùn)】
2020-05-29大數(shù)據(jù)培訓(xùn)之flink從入門(mén)到精通視頻教程【黑馬程序員】
2020-05-14Hadoop與Spark的區(qū)別有哪些?【大數(shù)據(jù)培訓(xùn)】
2020-04-24Spark計(jì)算框架在處理數(shù)據(jù)時(shí)有什么優(yōu)勢(shì)?【大數(shù)據(jù)培訓(xùn)】
2020-04-24Spark發(fā)展史:讓你了解是什么Spark?
2020-04-23