內容簡介:
本書結合理論和實踐,由淺入深,全方位介紹了Hadoop這一高性 能的海量數據處理和分析平臺。全書5部分24章,第I部分介紹Hadoop基礎知識,主題涉及Hadoop、MapReduce、 Hadoop分佈式文件系統YARN、Hadoop 的I/O操作。第II部分介紹MapReduce,主題包括MapReduce應用開發: MapReduce 的工作機制、MapReduce 的類型與格式MapReduce 的特性。第I部分介紹Hadoop的運維,主題涉及構建Hadoop集群、管理Hadoop。第IV部分介紹Hadoop相關開源項目,主題涉及AvroParquet、Flume、 Sqoop、 Pig、 Hive、 Crunch、 Spark、 HBaseZooKeeper。 第V部分提供了三個案例,分別來自醫療衛生信息技術服務商塞納(Cerner)、微軟的人工智能項目ADAM(一種大規模分佈式深度學習框架)和開源項目Cascading( 一個新的針對MapReduce的數據處理API)。
前言:
Hadoop其實並沒有那麼讓人費解,抽絲剝繭,我們來看看它的“廬山真面目”。Hadoop 提供的用於處理大數據的工具都非常簡單。如果說這些工具有一個共同的主題,那就是它們更抽象,為(有大量數據需要存儲和分析卻沒有足夠的時間、技能或者不想成為分佈式系統專家的)程序員提供一套組件,使其能夠利用Hadoop來構建一個處理數據的基礎平臺。
第一部分:Hadoop基礎知識
第1章:是對Hadoop的宏觀介紹。
第2章:簡要介紹MapReduce。
第3章:深入剖析Hadoop文件系統,特別是HDFS。
第4章:討論Hadoop集群資源管理系統YARN。
第5章:講述Hadoop 的I0構建模塊:數據完整性、壓縮、序列化及基於文件的數據結構。
第二部分對MapReduce進行深度剖析。
這些內容有助於對後續章節(如第IV部分的數據處理相關章節)的更好理解,但是可以在首次閱讀時跳過。
第6章:全景呈現了MapReduce應用開發所涉及的具體步驟。
第7章:從用戶的角度來看如何在Hadoop中實現MapReduce。
第8章:主要包含MapReduce編程模型和MapReduce可以使用的各種數據格式。
第9章:是MapReduce高級主題,包括排序和數據連接。
第三部分:關注的是Hadoop管理。
第10章和第11章主要描述如何設置和維護一個運行HDFS和YARN(第二代MapReduce框架)的Hadoop集群。
第四部分:專門介紹在Hadoop上構建或相關的項目。
每一章講述一個項目,並且很大程度上獨立於本部分其他章節,因此可按任何順序閱讀。前兩章是關於數據格式的。
第12章:剖析Avro,Hadoop 的一種跨語言數據序列化庫。
第13章:描述Parquet,一種有效的用於嵌套式數據的列式存儲格式。
第14章~第15章:討論數據攝入,即如何將自己的數據輸入到Hadoop系統中。
第14章:介紹Flume,可以支持流數據的大批量攝入。
第15章介紹Sqoop,支持在結構化數據存儲(如關係型數據庫)和HDFS之間高效批量傳輸數據。
第16章~第19章從一個比MapReduce更高- -級抽象的角度,描述數據處理這樣一個共同議題。
Pig(第 16 章):是一種用於開發大數據集的數據流語言。
Hive(第 17章):是一種數據倉庫,用於管理HDFS中存儲的數據並提供基於SQL的查詢語言。
Crunch(第18章):是一套高層次的Java API,用於寫可以運行MapReduce 或Spark.上的數據處理管線程序(data processiong pipeline)。
Spark(第 19 章):是一個面向大規模數據處理的集群計算框架,它提供一個有向無環圖(DAG, directedacyclic graph)引擎,以及支持Scala、Java 和Python語言的API。
第20章:介紹HBase,一種使用HDFS作為底層存儲的,分佈式的面向列的實時數據庫。
第21章:講述ZooKeeper,這是一種分佈式高可用性的協調服務,提供用於構建分佈式應用的原語集。
第五部分:收集了一些實例,這些實例由以各種趣味方式使Hadoop的用戶所提供。
由於文章篇幅有限,為了節省大家的時間,所以整理出來了一部分內容供大家參考。小編已經幫助大家把文檔整理出來了,只需要私信【學習】二字即可。
如果大家喜歡小編的文章可以關注、轉發,萬分感謝!
閱讀更多 架構師公社 的文章