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