Hadoop大數據開發實戰

Hadoop大數據開發實戰

作者: 楊力
出版社: 人民郵電
出版在: 2019-03-01
ISBN-13: 9787115502179
ISBN-10: 711550217X
裝訂格式: 平裝
總頁數: 226 頁





內容描述


本書將大數據技術生態圈主流技術框架的應用與發展、搭建Hadoop大數據分佈式系統集群平臺、大數據分佈式文件系統HDFS(Hadoop Distributed File System)、大數據分佈式並行計算框架MapReduce、大數據汽車銷售數據統計分析項目5大模塊分為11章內容進行闡述。具體分佈情況如下:第1章是大數據概論,介紹大數據的發展背景及基本概念;第2章是搭建Hadoop分佈式集群;第3~6章是HDFS分佈式文件系統入門、HDFS接口、HDFS的運行機制、Hadoop I/O流操作;第7~10章是初識MapReduce編程模型、MapReduce應用編程開發、MapReduce編程案例、MapReduce運行機制與YARN平臺;第11章是汽車銷售數據統計分析項目實戰。本書將理論與實踐相結合,介紹了大數據的核心技術,並通過介紹一個企業的開發項目,深入講解大數據技術在實際工作中的應用。
本書是為所有熱愛大數據、打算從事大數據相關工作的讀者而編寫的,適合有Java編程基礎的學習者參考使用,也適合作為高等院校、培訓機構的大數據技術教材。


目錄大綱


第1章大數據概論1 
1.1大數據的學習基礎1 
1.2大數據的背景2 
1.3對大數據的不同認識2 
1.3.1資深編程者眼中的大數據2 
1.3.2營銷者和學者眼中的大數據3 
1.3.3商家看大數據4 
1.4大數據的行業案例4 
1.4.1電子地圖4 
1.4.2電子商務——用戶畫像5 
1.5大數據的基本概念6 
1.5.1兩個核心6 
1.5.2分佈式存儲6 
1.5.3分佈式計算7 
1.6大數據技術生態圈7 
本章總結8 
本章習題8 

第2章搭建Hadoop分佈式集群9 
2.1雲平台9 
2.1.1了解雲平台9 
2.1.2安裝VMware軟件9 
2.2安裝CentOS 6 10 
2.2.1安裝CentOS 6 10 
2.2.2安裝中的關鍵問題15 
2.2.3克隆HadoopSlave和HadoopSlave1 16 
2.2.4安裝SSH客戶端傳輸軟件18 
2.2.5安裝Xshell 20 
2.3 Linux系統配置23 
2.4 Hadoop的配置部署39
本章總結47 
本章習題47 

第3章HDFS入門48 
3.1 Hadoop分佈式文件系統HDFS 48 
3.1.1認識HDFS 48 
3.1.2 HDFS的優勢49 
3.1.3 HDFS局限性50 
3.1.4 HDFS特性51 
3.2 HDFS核心設計52 
3.2.1數據塊53 
3.2.2數據塊複製53 
3.2.3數據塊副本的存放策略54 
3.2.4機架感知55 
3.2.5數據塊的備份數56 
3.2.6安全模式56 
3.2.7負載均衡57 
3.2.8心跳機制60 
3.3 HDFS體系結構60 
3.3.1主從架構61 
3.3.2核心組件功能61 
3.3.3數據塊損壞處理63 
本章總結64 
本章習題64 

第4章HDFS接口65 
4.1 HDFS命令行接口65 
4.2 HDFS Java接口67 
4.2.1在Linux虛擬機中安裝Eclipse 68 
4.2.2從Hadoop URL讀取數據69 
4.2.3使用FileSystem讀取文件70 
4.2.4 FSDataInputStream對象隨機讀取71
4.2.5使用FileSystem寫入數據72 
4.2.6 FSDataOutputStream對象批量寫入73 
4.2.7查詢文件狀態FileStatus 74 
4.2.8創建目錄75 
4.2.9刪除文件與目錄76 
本章總結77 
本章習題77 

第5章HDFS的運行機制78 
5.1 HDFS中數據流的讀寫78 
5.1.1 RPC流程78 
5.1.2 RPC實現模型79 
5.1.3 RPC Client主要流程81 
5.1.4 RPC Server實現模型82 
5.1.5文件讀取83 
5.1 .6文件寫入84 
5.2 HA機制85 
5.2.1 HDFS的HA機制85 
5.2.2集群節點任務規劃87 
5.2.3初識ZooKeeper 87 
5.2.4安裝部署ZooKeeper 89 
5.2.5格式化ZooKeeper集群93 
5.2. 6配置Hadoop 94 
5.2.7啟動JournalNode共享存儲集群99 
5.2.8格式化ActiveNameNode 100 
5.2.9啟動ZooKeeperFailoverController 101 
5.2.10啟動ActiveNameNode 101
5.2.11格式化StandbyNameNode 102 
5.2.12啟動所有DataNode節點102 
5.2.13驗證HA的故障自動轉移103 
5.3 Federation機制105 
5.3.1初始HDFS Federation機制105 
5.3.2 HDFS Federation架構原理106 
本章總結107 
本章習題107 

第6章Hadoop I/O流操作108 
6.1數據完整性108 
6.1.1數據發生錯誤108 
6.1.2數據的檢測109 
6.1.3數據完整性機制109 
6.2壓縮111 
6.2.1壓縮格式111 
6.2.2 Hadoop中對壓縮格式的實現Codec 111 
6.2.3壓縮格式是否支持切分114 
6.3序列化114 
6.3.1序列化簡介114 
6.3.2反序列化115 
6.3.3序列化的分佈式應用115 
6.3.4初識Hadoop序列化115 
6.3.5 Hadoop序列化實現116 
6.3.6接口Comparable & Comparator與WritableComparable & WritableComparator 117 
6.3.7 Writable類123
6.4基於文件的數據結構SequenceFile 125 
本章總結127 
本章習題127 

第7章初識MapReduce編程模型128 
7.1 MapReduce編程框架128 
7.1.1函數式編程模型128 
7.1.2 MapReduce編程模型概念129 
7.1.3 MapReduce的設計目標130 
7.2 WordCount編程實例130 
7.2.1案例需求130 
7.2.2搭建開發環境Eclipse 131 
7.2.3代碼實現132 
7.2.4代碼測試135 
7.2.5案例剖析139 
7.3 Hadoop MapReduce架構141 
7.3.1 Hadoop MapReduce架構的基本概念141 
7.3.2 MapReduce架構核心組件142 
本章總結144 
本章習題144 

第8章MapReduce應用編程開發145 
8.1 MapReduce編程開發145 
8.1.1設計思路145 
8.1.2搜索引擎數據處理實戰147 
8.2 MapReduce在集群上的運作152 
8.2.1打包作業152 
8.2.2啟動作業154 
8.2.3通過WebUI查看Job狀態154
8.3 MapReduce的類型與格式155 
8.3.1 combiner函數155 
8.3.2 MapReduce框架Partitioner分區方法157 
8.3.3 MapReduce輸入格式158 
本章總結166 
本章習題166 

第9章MapReduce編程案例167 
9.1數據去重167 
9.1.1實例表述167 
9.1.2設計思路168 
9.1.3程序代碼168 
9.1.4代碼結果169 
9.2數據排序170 
9.2.1實例表述171 
9.2.2設計思路171 
9.2.3程序代碼171 
9.2.4代碼結果173 
9.3平均成績174 
9.3.1實例表述174 
9.3.2設計思路175 
9.3.3程序代碼175 
9.3.4代碼結果177 
9.4多表關聯178 
9.4.1實例表述178 
9.4.2設計思路179 
9.4.3程序代碼179 
9.4.4代碼結果181 
9.5二次排序182 
9.5.1實例描述182 
9.5.2設計思路182
9.5.3程序代碼182 
9.5.4代碼結果185 
本章總結186 
本章習題186 

第10章MapReduce運行機制與YARN平台187 
10.1剖析MapReduce作業運行機制187 
10.1.1提交作業的方式187 
10.1.2作業的運行組件187 
10.1.3作業的運行解析188 
10.2 Shuffle和排序190 
10.2.1 Mapper端190 
10.2.2 Reducer端193 
10.2.3 MapReduce性能調優196 
10.3任務的執行197 
10.4作業的調度199 
10.4.1先進先出調度器199 
10.4.2公平調度器199 
10.4.3計算能力調度器200 
10.5 YARN平台簡介200 
10.5.1 YARN的誕生200 
10.5.2 YARN的工作原理200 
10.6 YARN平台架構201 
本章總結204 
本章習題204 

第11章汽車銷售數據統計分析項目205 
11.1數據概況205 
11.2項目實戰206 
11.2.1統計乘用車輛和商用車輛的數量和銷售額分佈206
11.2.2統計某年每個月的汽車銷售數量的比例208 
11.2.3統計某個月份各市區縣的汽車銷售的數量210 
11.2.4用戶數據市場分析——統計買車的男女比例213 
11.2. 5統計不同所有權、型號和類型汽車的銷售數量216 
11.2.6統計不同車型的用戶的年齡和性別218 
11.2.7統計分析不同車型銷售數據219 
11.2.8通過不同類型(品牌)汽車銷售情況統計發動機型號和燃料種類222 
11.2.9統計同排量不同品牌汽車的銷售量224 
本章總結226 
本章習題226


作者介紹


楊力,原普開數據大數據架構師兼教學總監,新奧集團公司雲數據平台項目首席架構師,京東萬像大數據平台締造人之一,二六三網絡通信反垃圾郵件系統平台項目經理。現任瀋陽兄弟連教學總監。兄弟連是國內知名的教育培訓機構,目前已在新三板上市。其出版的細說系列,市場反映良好。




相關書籍

WordPress: Pushing the Limits (Paperback)

作者 Rachel McCollin

2019-03-01

3D Game Programming for Kids: Create Interactive Worlds with JavaScript

作者 Chris Strom

2019-03-01

ThinkPHP實戰

作者 夏磊

2019-03-01