大資料技術學習路線指南:[4]Hadoop是什麼?

Hadoop作為大資料工業中的主引擎,瞭解Hadoop就像是在開啟大資料這扇門。首先它本身是一個分散式計算架構,更重要的是它是一個可擴充套件的生態系統,像IBM,EMC,Amazon,微軟,甲骨文等大型IT公司都已經有了基於Hadoop的商業化大資料產品。雖然現在還有比Hadoop更為先進的分散式架構(Dremel,DataFlow等),但也都是基於Hadoop的改進升級,因此也說Hadoop是大資料的基礎,基礎的穩固決定了未來能走多遠!!

大資料技術學習路線指南:[4]Hadoop是什麼

工具/原料

前置技能:Java程式設計,資料庫技術

閱讀能力:初級以上的英文閱讀水平

Hadoop是什麼

Hadoop是一個大家族,是一個開源的生態系統,是一個分散式執行系統,是基於Java程式語言的架構。不過它最高明的技術還是HDFS和MapReduce,使得它可以分散式處理海量資料。

大資料技術學習路線指南:[4]Hadoop是什麼

大資料技術學習路線指南:[4]Hadoop是什麼

HDFS(分散式檔案系統):

它與現存的檔案系統不同的特性有很多,比如高度容錯(即使中途出錯,也能繼續執行),支援多媒體資料和流媒體資料訪問,高效率訪問大型資料集合,資料保持嚴謹一致,部署成本降低,部署效率提交等,如圖是HDFS的基礎架構

大資料技術學習路線指南:[4]Hadoop是什麼

MapReduce(平行計算架構):

它可以將計算任務拆分成大量可以獨立執行的子任務,接著並行運算,另外會有一個系統排程的架構負責收集和彙總每個子任務的分析結果。其中 包含對映演算法與規約演算法。如圖是MapReduce的內部計算步驟

大資料技術學習路線指南:[4]Hadoop是什麼

Pig/Hive(Hadoop程式設計):

Pig是一種高階程式語言,在處理半結構化資料上擁有非常高的效能,可以幫助我們縮短開發週期。

Hive是資料分析查詢工具,尤其在使用類SQL查詢分析時顯示是極高的效能。可以在分分鐘完成ETL要一晚上才能完成的事情,這就是優勢,佔了先機!

大資料技術學習路線指南:[4]Hadoop是什麼

HBase/Sqoop/Flume(資料匯入與匯出):

HBase是執行在HDFS架構上的列儲存資料庫,並且已經與Pig/Hive很好地整合。通過Java API可以近無縫地使用HBase。

Sqoop設計的目的是方便從傳統資料庫匯入資料到Hadoop資料集合(HDFS/Hive)。

Flume設計的目的是便捷地從日誌檔案系統直接把資料導到Hadoop資料集合(HDFS)中。

以上這些資料轉移工具都極大的方便了使用的人,提高了工作效率,把經歷專注在業務分析上!

大資料技術學習路線指南:[4]Hadoop是什麼

ZooKeeper/Oozie(系統管理架構):

ZooKeeper是一個系統管理協調架構,用於管理分散式架構的基本配置。它提供了很多介面,使得配置管理任務簡單化!

Oozie服務是用於管理工作流。用於排程不同工作流,使得每個工作都有始有終。

這些架構幫助我們輕量化地管理大資料分散式計算架構。

Ambari/Whirr(系統部署管理):

Ambari幫助相關人員快捷地部署搭建整個大資料分析架構,並且實時監控系統的執行狀況。

Whirr的主要作用是幫助快速的進行雲計算開發。

Mahout(機器學習):

Mahout旨在幫助我們快速地完成高智商的系統。其中已經實現了部分機器學習的邏輯。這個架構可以讓我們快速地整合更多機器學習的智慧!!

Hadoop推薦書籍

兩本最重要的書籍(這兩本基本已經可以滿足大部分你對Hadoop的需要):

Hadoop權威指南/Hadoop最佳實踐

大資料技術學習路線指南:[4]Hadoop是什麼

補充書籍資料:

Hadoop Operations/Professional Hadoop Solutions/Programing Pig/Programing Hive/Data Science for Business

專業論文:

谷歌關於大資料基礎的一些重要論文(GFS / MapReduce)

大資料技術學習路線指南:[4]Hadoop是什麼

補充Apache網站資料:

hadoop.apache.org/docs/r1.2.1/mapred_tutorial.html

pig.apache.org/

spark.apache.org

aws.amazon.com/dynamodb

mahout.apache.org

大資料技術學習路線指南:[4]Hadoop是什麼

注意事項

請完整閱讀大資料技術學習路線指南系列!

資料, 技術, 路線, 指南, 架構,
相關問題答案