大資料Lambda架構

來源:互聯網
上載者:User

標籤:

1 Lambda架構介紹

         Lambda架構劃分為三層。各自是批處理層,服務層,和加速層。

終於實現的效果,能夠使用以下的運算式來說明。

query = function(alldata)


1.1 批處理層(Batch Layer, Apache Hadoop)

         批處理層主用由Hadoop來實現,負責資料的儲存和產生隨意的視圖資料。

計算視圖資料是一個連續的操作,因此。當新資料到達時,使用MapReduce迭代地將資料聚集到視圖中。

將資料集中計算得到的視圖,這使得它不會被頻繁地更新。依據你的資料集的大小和叢集的規模,不論什麼迭代轉換計算的時間大約須要幾小時。


1.2 服務層(Serving layer ,Cloudera Impala)

        服務層是由Cloudera Impala架構來實現的,總體而言,使用了Impala的主要特性。從批處理輸出的是一系列包括估計算視圖的原始檔案。服務層負責建立索引和呈現視圖。以便於它們可以被非常好被查詢到。

        因為批處理視圖是靜態,服務層只須要提供批量地更新和隨機讀,而Cloudera Impala正好符合我們的要求。為了使用Impala呈現視圖。全部的服務層就是在Hive中繼資料中建立一個表。這些中繼資料都指向HDFS中的檔案。隨後,使用者立馬可以使用Impala查詢到視圖。

         Hadoop和Impala是批處理層和服務層極好的工具。

Hadoop可以儲存和處理千MB(petabytes)資料,而Impala可以查詢高速且互動地查詢到這個資料。但是。批處理和服務層單獨存在,無法滿足即時性需求。原因是MapReduce在設計上存在非常高的延遲,它須要花費幾小時的時間來將新資料展現給視圖。然後通過媒介傳遞給服務層。

這就是為什麼我們須要加速層的原因。


1.3 加速層 (Speed layer, Storm, Apache HBase)

         在本質上,加速層與批處理層是一樣的,都是從它接受到的資料上計算而得到視圖。加速層就是為了彌補批處理層的高延遲性問題,它通過Strom架構計算即時視圖來解決問題。即時視圖只包括資料結果去供應批處理視圖。同一時候,批處理的設計就是連續反覆從擷取的資料中計算批處理視圖,而加速層使用的是增量模型,這是鑒於即時視圖是增量的。加速層的高明之處在於即時視圖作為暫時量。只要資料傳播到批處理中,服務層中對應的即時視圖結果就會被丟掉。這個被稱作為“全然隔離”,意味著架構中的複雜部分被推送到結構層次中。而結構層的結果為暫時的,大慷慨便了連續處理視圖。

        令人疑惑的那部分就是呈現即時視圖。以便於它們可以被查詢到。以及使用批處理視圖合并來獲得所有的結果。

因為即時視圖是增量的。加速層須要同一時候隨機的讀和寫。為此,我將使用Apache HBase資料庫。

HBase提供了對Storm連續地增量化即時視圖的能力。同一時候,為Impala提供查詢經批處理視圖合并後得到的結果。Impala查詢儲存在HDFS中批處理視圖和儲存在HBase中的即時視圖,這使得Impala成為相當完美的工具。


 

        Lambda抽象架構也能夠這樣來描寫敘述:



大資料Lambda架構

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.