首頁>科技>

大資料技術平臺就是一個生態圈,生態裡面的各類技術讓人眼花繚亂,即便是資深工程師也需要學習跟實踐很多年才有一些積累,非專業的人去看當然暈了!因此我們需要把這麼一大堆的內容分解開,找出關鍵的部分,用形象比喻的方式,更容易得讓廣大初學者從整體架構上有一個概念,形成一種叫做大資料思維的東西!

咱們一步步分解,先上個圖,看看常用的技術有哪些,下面是按照大資料軟體層次的劃分圖:

大資料平臺層次架構圖

我節選了一些我給諮詢客戶的素材,當然不能給全了!望諒解。

從圖中你可以看到大資料平臺從宏觀上,可以從架構、儲存、計算和工具,自底向上去劃分,每一種技術都有其專注的領域。

你可以這麼理解Hadoop的分散式檔案系統hdfs:就是一艘貨輪,平臺式管理著集裝箱,順序的存放,順序的解除安裝。而集裝箱裡面的貨品佈置方式,就衍生出了很多特色儲存管理模式,例如hbase,它就想在集裝箱裡面再整上一排排存放箱的設計,這樣方便它的編排,Hadoop就隨便它嘍,反正我是平臺,集裝箱裡面的內容給你們上面的團隊自由,隨意折騰。

你也可以這麼去理解spark:他是一個優秀的企業員工,成長在Hadoop這個大企業裡,實在看不上MapReduce(批處理引擎)效率低下的辦事風格,自己用突出的成績證明自己比他能,而且又從一個人發展出了一個團隊,都是各個場面的小能手,例如:spark core專注做海量處理和平臺化,spark streaming做實時處理,spark SQL做SQL訪問工具和解釋最佳化,spark mllib做機器學習庫,spark graphx做圖處理,這麼個團隊組合在一起相當強悍了,感覺能成立獨立事業部了,動不動還能和非Hadoop體系的nosql親密合作!直接叫板Hadoop平臺的地位。

你同樣從宏觀上也可以把Hadoop理解為一家生產工廠。有采購,有車間,有倉庫,當然也有管理層以及保安部門。倉庫就是hdfs,namenode就是庫管員,datanode就是貨品存放室。車間就是MapReduce,map就是分揀,reduce就是加工,map到reduce的,shuffle就是流水線,整個流程就是生產製造工藝,yarn就是車間主任啦!工廠總要採購和供應把,flume,hive,sqoop就是面向不同外部需要的對接部門。安全總要考慮吧,Hadoop的認證,加密就是保衛部門了。當然了廠子必須適應新形勢的需要,實現快進快出,都是從廠裡大倉庫拿貨,但代理商自己按不同區域客戶名錄編排存放,這就是HBASE。

其實理解了Hadoop,就是理解了什麼是大資料技術的一個思維體系,上面的圖只是瞭解到了大資料生態的一部分技術,關鍵是理解架構上的邏輯。咱們繼續看看大資料的平臺如何去協作的,我們再上一個圖:

大資料關鍵元件關係架構圖

一樣我截取了一些內容分享出來,這是一個架構,叫lambda架構,是storm作者提出來的,這牛人就覺得,大資料平臺就能批處理是不行的,有時候一天出一個結果太慢了,如果加上我設計的storm實時計算,一秒內就能計算一個結果,那才正宗,可是問題出來了,實時處理走的是先計算再寫庫(所謂的狼吞虎噎的吃法),批處理反過來先寫庫再計算(感覺就像牛先吃草,晚上再咀嚼),支援批處理模式的人就認為先存資料很重要,要是資料處理服務掛了,資料依然是好好的,可以重來,但要先做計算,萬一計算處理服務掛了,資料不就存不了,整體就損壞了。

這個問題其實沒有難住storm作者,他設計出lambda架構,將大資料實時處理和批處理進行了融合,一邊先計算再存當天看實時結果,另一邊也先存著原生資料,慢慢計算,隔一天就從批次重新取結果,也就是說資料出錯總會被消滅在一天內。他分了三層,服務層專門做整合,批處理層專門做歷史計算,速度層專門處理實時資料,牛逼吧。

好了,說完了技術體系,實踐架構,我們再說說又是nosql,又是Hadoop,又是SQL,它們到底咋協作。我們再看個圖:

Lambda大資料架構模式圖

上面就是一個比較細緻的大資料架構應用的組合拳了,你會發現Hadoop的上層可以有nosql,例如HBASE,nosql也可以獨立存在不依賴Hadoop,例如MongoDB,elk。那麼nosql到底是啥,直譯過來就是“我不是SQL”。其實說白了,nosql幾乎所有的儲存系統的目標都是用大量廉價的機器跑分散式的資料儲存,實現吞吐與負載的水平伸縮,不用原來昂貴的,難以擴充套件的單機型關係資料庫了,例如Oracle,機器上了小機,搞了叢集,還要許可費,貴得要死不說,效能依然提升不大。

另外圖上為什麼會有hiveSQL,sparkSQL,就是因為Hadoop,spark這些大資料資源不能只給程式設計師用啊,學Java,再研究演算法,會累死資料分析師的,專業的人幹專業的事情,因此讓資料分析師透過SQL也能上大資料平臺這就是目標。hive目前可以安裝三種計算引擎,MapReduce,tez,spark,tez未來就是hive官方認定的啦,MapReduce逐漸成為教練機。hive還是大資料平臺大家互相認可的元資料儲存事實標準,很重要,它依賴於MySQL等關係型資料庫,因此大資料平臺依然有這關係型資料庫的身影。

最後還有些不錯的工具,例如ooiz,你只要搞過工作流,就應該清楚,工作流workflow是主要面向業務表單的流程化提交,稽核與管理,ooiz居然用workflow的思路,改成了大資料計算與儲存的資料計算流程執行管理,你說牛不牛。

好就聊這麼多吧,無論你是不是想從事大資料行業,懂得大資料知識總是益處良多的。

6
最新評論
  • 整治雙十一購物亂象,國家再次出手!該跟這些套路說再見了
  • IOTA將進行主網重大升級,推出智慧合約、預言機與數字資產