《Hadoop海量數(shù)據(jù)處理》從Hadoop的基礎知識講起,逐步深入Hadoop分布式文件系統(tǒng)(HDFS)和MapReduce分布式編程框架的核心技術,幫助讀者全面、系統(tǒng)、深入地理解Hadoop海量數(shù)據(jù)處理技術的精髓。本書在講解技術原理時穿插大量的典型示例,并詳解兩個典型項目實戰(zhàn)案例,幫助讀者提高實際項目開發(fā)水平。
《Hadoop海量數(shù)據(jù)處理》共15章,分為4篇。第1篇Hadoop基礎知識,包括大數(shù)據(jù)概述、Hadoop概述、Hadoop環(huán)境搭建與配置;第2篇Hadoop分布式存儲技術,包括HDFS概述、HDFS基礎操作、HDFS的讀寫原理和工作機制、Hadoop 3.x的新特性;第3篇MapReduce分布式編程框架,包括MapReduce概述、MapReduce開發(fā)基礎、MapReduce框架的原理、MapReduce數(shù)據(jù)壓縮、YARN資源調(diào)度器、Hadoop企業(yè)級優(yōu)化;第4篇項目實戰(zhàn),包括Hadoop高可用集群搭建實戰(zhàn)和統(tǒng)計TopN經(jīng)典項目案例實戰(zhàn)。
《Hadoop海量數(shù)據(jù)處理》通俗易懂、案例豐富、實用性強,適合Hadoop初學者和進階人員閱讀,也適合大數(shù)據(jù)工程師、數(shù)據(jù)分析工程師和數(shù)據(jù)科學家等大數(shù)據(jù)技術從業(yè)人員和愛好者閱讀,還適合作為高等院校和相關培訓機構的大數(shù)據(jù)教材。
國內(nèi)某一線大廠資深大數(shù)據(jù)架構師多年項目實戰(zhàn)經(jīng)驗的總結,理論結合實踐,深入剖析Hadoop海量數(shù)據(jù)處理的核心技術。
內(nèi)容全面:全面涵蓋Hadoop基礎知識和Hadoop分布式文件系統(tǒng)(HDFS),以及MapReduce分布式編程框架和YARN資源調(diào)度器等內(nèi)容,幫助讀者全面掌握Hadoop海量數(shù)據(jù)處理的核心技術。
講解深入:不僅系統(tǒng)地剖析Hadoop海量數(shù)據(jù)處理技術原理,還從代碼層面深入地分析Hadoop系統(tǒng)的實現(xiàn)過程,并分析HDFS和MapReduce的每一步操作,幫助讀者洞悉其工作機制與運行原理。
實用性強:講解理論知識時穿插100多個典型示例,幫助讀者深入理解Hadoop海量數(shù)據(jù)處理技術的精髓。另外,通過Hadoop高可用集群搭建和經(jīng)典的統(tǒng)計TopN案例構建兩個實戰(zhàn)項目,幫助讀者上手實踐,從而提高實際項目開發(fā)水平。
適用面廣:無論是Hadoop初學者,還是開發(fā)人員、數(shù)據(jù)分析人員、大數(shù)據(jù)工程師和數(shù)據(jù)科學家等相關從業(yè)人員,都可以從本書中獲得需要的知識和技能。
前瞻性強:基于Hadoop 3.x版寫作,內(nèi)容新穎,技術前瞻,不但介紹糾刪碼和NameNode Federation聯(lián)邦機制等Hadoop 3.x的新特性,而且對比Hadoop不同版本之間的差異。
隨著企業(yè)業(yè)務數(shù)據(jù)的日益增多,如何存儲和分析海量數(shù)據(jù)成為每個企業(yè)急需解決的問題。Hadoop的出現(xiàn)使得企業(yè)僅用多臺計算機便可組成分布式集群,對海量數(shù)據(jù)資源進行分布式存儲和并行計算。這樣不僅能夠滿足企業(yè)存儲海量數(shù)據(jù)的需求,而且能夠極大地提升并行處理數(shù)據(jù)的速度。
在過去的10多年中,Hadoop經(jīng)歷了多個版本的更新迭代,逐漸變得成熟和穩(wěn)定,其在大數(shù)據(jù)處理方面的性能也更加卓越。尤其隨著Hadoop 3.x版的發(fā)布,其整個生態(tài)系統(tǒng)也愈加完善,很多企業(yè)基于Hadoop 3.x開發(fā)自己的大數(shù)據(jù)處理平臺。
Hadoop 3.x版對MapReduce進行了拆分,獨立出一個資源調(diào)度模塊YARN。拆分后,MapReduce只負責任務的計算,而YARN只負責資源的調(diào)度。這種機制大大降低了系統(tǒng)間的耦合性。另外,Hadoop 3.x版還增加了許多新特性:解決了海量小文件存儲的問題;通過糾刪碼技術提高了磁盤的有效使用率;HDFS的快照管理功能解決了數(shù)據(jù)備份文件;Hadoop-HA的高可用機制保證了Hadoop集群的高可靠性和高容錯性;NameNode Federation聯(lián)邦機制解決了NameNode的橫向擴展問題。
為了幫助廣大想要進入大數(shù)據(jù)領域的讀者全面、系統(tǒng)地學習Hadoop,筆者結合自己多年的大數(shù)據(jù)項目開發(fā)經(jīng)驗編寫了本書。本書基于Hadoop 3.2.2版寫作,詳解Hadoop海量數(shù)據(jù)處理技術的基本理論知識,并結合多個典型示例和兩個項目實戰(zhàn)案例帶領讀者實踐,幫助讀者更加全面、深入地理解Hadoop的運行原理和工作機制,從而能夠在較短的時間里掌握Hadoop。
《Hadoop海量數(shù)據(jù)處理》特色
? 內(nèi)容全面:全面涵蓋Hadoop的基礎知識及其分布式文件系統(tǒng)(HDFS),以及MapReduce分布式編程框架和YARN資源調(diào)度器等內(nèi)容,幫助讀者全面掌握Hadoop海量數(shù)據(jù)處理的核心技術。
? 講解深入:不僅系統(tǒng)地剖析Hadoop海量數(shù)據(jù)處理技術原理,還從代碼層面深入地分析Hadoop系統(tǒng)的實現(xiàn)過程,并分析HDFS和MapReduce的每一步操作,幫助讀者洞悉其工作機制與運行原理。
? 實用性強:講解理論知識時穿插100多個典型示例,幫助讀者深入理解Hadoop海量數(shù)據(jù)處理技術的精髓。另外,通過Hadoop高可用集群搭建和統(tǒng)計TopN經(jīng)典項目案例兩個項目,幫助讀者上手實踐,從而提高實際項目開發(fā)水平。
? 適用面廣:無論是Hadoop初學者,還是開發(fā)人員、數(shù)據(jù)分析人員、大數(shù)據(jù)工程師和數(shù)據(jù)科學家等相關從業(yè)人員,都可以從本書中獲得需要的知識和技能。
? 前瞻性強:基于Hadoop 3.2.2版寫作,內(nèi)容新穎,技術前瞻,不但介紹糾刪碼和NameNode Federation聯(lián)邦機制等Hadoop 3.x的新特性,而且對比Hadoop不同版本之間的差異。
《Hadoop海量數(shù)據(jù)處理》內(nèi)容
第1篇 Hadoop基礎知識
第1章主要介紹大數(shù)據(jù)的基本概念、特點、應用場景和生態(tài)體系等。
第2章簡要介紹Hadoop的基本概念、發(fā)展歷史和主流發(fā)行版本,同時分析Hadoop的優(yōu)勢及其不同版本之間的區(qū)別。
第3章從零開始搭建Hadoop開發(fā)環(huán)境,并介紹如何配置Hadoop分布式系統(tǒng)的3種運行模式。
第2篇 Hadoop分布式存儲技術
第4章主要介紹Hadoop分布式文件系統(tǒng)(HDFS)的定義、產(chǎn)生背景、優(yōu)缺點及其組成架構。
第5章主要從Shell命令操作和API調(diào)用操作兩個方面講解HDFS的基本使用方法。
第6章深入剖析HDFS的數(shù)據(jù)讀寫原理和工作機制,包括HDFS的寫數(shù)據(jù)流程、HDFS的讀數(shù)據(jù)流程、NameNode與Secondary NameNode的工作機制、DataNode的工作機制等。
第7章主要介紹Hadoop 3.x的新特性,如糾刪碼技術、HDFS集群間的數(shù)據(jù)復制、海量小文件的存儲、HDFS的配置、HDFS快照管理等。
第3篇 MapReduce分布式編程框架
第8章主要介紹MapReduce的定義、優(yōu)缺點及其核心編程思想,并對官方的WordCount源碼進行簡單的解析。
第9章主要介紹MapReduce開發(fā)的基礎知識,包括Hadoop序列化、數(shù)據(jù)序列化類型和MapReduce的編碼規(guī)范等。
第10章深度剖析MapReduce的運行原理,涵蓋InputFormat數(shù)據(jù)輸入、MapReduce工作流程、Shuffle的工作機制、MapTask的工作機制、ReduceTask的工作機制、OutputFormat數(shù)據(jù)輸出類詳解和Join的多種應用等。
第11章主要介紹MapReduce的數(shù)據(jù)壓縮工作機制、幾種數(shù)據(jù)壓縮方式和壓縮參數(shù)的配置,并詳解3個數(shù)據(jù)壓縮實戰(zhàn)案例。
第12章主要介紹YARN資源調(diào)度器的基本架構和工作機制、MapReduce作業(yè)提交全過程、資源調(diào)度器的分類和任務的推測執(zhí)行等相關內(nèi)容。
第13章主要介紹Hadoop企業(yè)級優(yōu)化的相關知識,包括HDFS優(yōu)化和MapReduce優(yōu)化。
第4篇 項目實戰(zhàn)
第14章詳細介紹如何搭建一個Hadoop高可用集群,并保證該集群能夠724小時持續(xù)工作。
第15章詳細介紹如何構建經(jīng)典的統(tǒng)計TopN案例,并通過MapReduce編程框架實現(xiàn)。
讀者對象
? 大數(shù)據(jù)初學者;
? Hadoop入門與進階人員;
? 想要提升海量數(shù)據(jù)處理性能的大數(shù)據(jù)從業(yè)人員;
? 大數(shù)據(jù)工程師、數(shù)據(jù)分析工程師和數(shù)據(jù)科學家;
? 需要作為大數(shù)據(jù)技術手冊的人員;
? 對大數(shù)據(jù)感興趣的技術人員;
? 高等院校相關專業(yè)的學生;
? 大數(shù)據(jù)培訓班的學員。
配套資源獲取
《Hadoop海量數(shù)據(jù)處理》提供的源代碼和配套教學PPT有兩種獲取方式:一是關注微信公眾號方大卓越,回復數(shù)字27獲取下載鏈接;二是在清華大學出版社網(wǎng)站(www.tup.com.cn)上搜索本書,然后在本書頁面上找到資源下載欄目,單擊網(wǎng)絡資源或課件下載按鈕進行下載。
售后支持
由于筆者水平所限,書中存在疏漏與不足在所難免,懇請廣大讀者批評與指正。讀者在閱讀本書的過程中若有疑問,可發(fā)送電子郵件到bookservice2008@163.com獲取幫助。
致謝
在過去的10多年中,Hadoop得到了人們廣泛的關注,并取得了快速的發(fā)展,同時也經(jīng)歷了多個版本的更新迭代,誕生了三大發(fā)行版本,包括Apache、Cloudera和Hortonworks。這都得益于廣大廠商和獨立開發(fā)者的努力付出。在此首先感謝為Hadoop系統(tǒng)貢獻源碼的軟件工作者!
Hadoop的大規(guī)模應用促進了整個大數(shù)據(jù)生態(tài)圈的構建。該生態(tài)圈為很多中小企業(yè)和初創(chuàng)團隊提供了一整套大數(shù)據(jù)解決方案。在此感謝為大數(shù)據(jù)生態(tài)圈構建而付出辛勤勞動的工作者!
還要感謝清華大學出版社的相關工作人員!沒有他們的努力,本書不會順利出版。
最后感謝我的家人、朋友和同事們!本書在編寫的過程中得到了他們的大力支持。
許政
2024年4月
許政,畢業(yè)于哈爾濱工業(yè)大學,獲碩士學位,F(xiàn)居深圳,任某一線大廠大數(shù)據(jù)架構師。參加工作以來,帶領團隊完成了多個百億級大數(shù)據(jù)平臺的建設。在實時計算方面有深厚的實踐經(jīng)驗。熟悉多種大數(shù)據(jù)技術框架,如Hadoop、Spark、Flink、Elasticsearch、Kafka、HBase、ZooKeeper等。被CSDN評為優(yōu)秀博主,撰寫了大數(shù)據(jù)技術相關博文100余篇,博客訪問量高達240多萬。運維自己的獨立博客網(wǎng)站。在大數(shù)據(jù)實時處理技術和人工智能算法方面有深入的研究,申請發(fā)明專利10余項。