千鋒扣丁學堂大數(shù)據(jù)培訓之Lambda架構(gòu)詳解
2019-06-17 15:11:38
1634瀏覽
今天千鋒扣丁學堂
大數(shù)據(jù)培訓之大數(shù)據(jù)Lambda架構(gòu)詳解,首先MathanMarz的大作BigData:Principlesandbestpracticesofscalablereal-timedatasystems介紹了LambdaArchitecture的概念,用于在大數(shù)據(jù)架構(gòu)中,如何讓real-time與batchjob更好地結(jié)合起來,以達成對大數(shù)據(jù)的實時處理。
大數(shù)據(jù)平臺中包括批量計算的BatchLayer和實時計算的SpeedLayer,通過在一套平臺中將批計算和流計算整合在一起。
例如使用HadoopMapReduce、Spark進行批量數(shù)據(jù)的處理,使用ApacheStorm、SparkStreaming進行實時數(shù)據(jù)的處理。
這種架構(gòu)在一定程度上解決了不同計算類型的問題,但是帶來的問題是框架太多,會導致平臺復(fù)雜度過高、運維成功高等。
Lambda架構(gòu)的主要思想就是將大數(shù)據(jù)系統(tǒng)構(gòu)建為多個層次,如下圖所示:
我們來梳理一下他們是如何分工協(xié)助的:
首先newdata作為整個數(shù)據(jù)系統(tǒng)的數(shù)據(jù)源頭,BatchLayer作為數(shù)據(jù)的批處理層次對原始數(shù)據(jù)進行加工與處理,并且將處理的數(shù)據(jù)結(jié)果的BatchView輸入到ServingLayer。(這里對應(yīng)的是全量數(shù)據(jù))
SpeedLayer對于實時增加的數(shù)據(jù)進行處理,生成對增量數(shù)據(jù)計算結(jié)果的Real-timeView。(這里對應(yīng)的是增量數(shù)據(jù))
最終用戶查詢是通過BatchView與Real-timeView相結(jié)合的形式將最終結(jié)果呈現(xiàn)出來。
基于Lambda架構(gòu),一旦數(shù)據(jù)通過Batchlayer進入到Servinglayer,在Real-timeview中的相應(yīng)結(jié)果就不再需要了。
Lambda架構(gòu)結(jié)合了實時處理與批處理的結(jié)果,很好的反饋了查詢需求,并且在速度和可靠性之間求取了平衡,具有足夠的擴展性。理想狀態(tài)下,所有的查詢都可以定位成一個函數(shù):
Query=Function(Data)
但是,若數(shù)據(jù)達到相當大的一個級別(例如PB),且還需要支持實時查詢時,就需要耗費非常龐大的資源。
而Lambda架構(gòu)將數(shù)據(jù)和計算系統(tǒng)進行細分:
Query=Batch(Old_Data)+RealTime(New_Data)
但是這種架構(gòu)同樣存在一些問題:需要運維兩套不同的計算系統(tǒng),并且合并查詢結(jié)果,這一定程序上帶來了復(fù)雜性的增加。
以上就是關(guān)于千鋒扣丁學堂大數(shù)據(jù)培訓之Lambda架構(gòu)的全部內(nèi)容,
想要了解更多關(guān)于大數(shù)據(jù)開發(fā)方面內(nèi)容的小伙伴,請關(guān)注扣丁學堂大數(shù)據(jù)培訓官網(wǎng)、微信等平臺,扣丁學堂IT職業(yè)在線學習教育有專業(yè)的大數(shù)據(jù)講師為您指導,此外扣丁學堂老師精心推出的大數(shù)據(jù)視頻教程定能讓你快速掌握大數(shù)據(jù)從入門到精通開發(fā)實戰(zhàn)技能??鄱W堂大數(shù)據(jù)學習群:209080834。
【關(guān)注微信公眾號獲取更多學習資料】 【掃碼進入Python全棧開發(fā)免費公開課】
查看更多關(guān)于“大數(shù)據(jù)培訓資訊”的相關(guān)文章>
標簽:
大數(shù)據(jù)培訓
大數(shù)據(jù)視頻教程
大數(shù)據(jù)分析培訓
大數(shù)據(jù)學習視頻
Hadoop生態(tài)圈