Hadoop大數(shù)據(jù)開發(fā)實戰(zhàn)
定 價:49.8 元
- 作者:楊力
- 出版時間:2019/3/1
- ISBN:9787115502179
- 出 版 社:人民郵電出版社
- 中圖法分類:TP274
- 頁碼:226
- 紙張:
- 版次:01
- 開本:16K
本書將大數(shù)據(jù)技術(shù)生態(tài)圈主流技術(shù)框架的應(yīng)用與發(fā)展、搭建Hadoop大數(shù)據(jù)分布式系統(tǒng)集群平臺、大數(shù)據(jù)分布式文件系統(tǒng)HDFS(Hadoop Distributed File System)、大數(shù)據(jù)分布式并行計算框架MapReduce、大數(shù)據(jù)汽車銷售數(shù)據(jù)統(tǒng)計分析項目5大模塊分為11章內(nèi)容進行闡述。具體分布情況如下:第1章是大數(shù)據(jù)概論,介紹大數(shù)據(jù)的發(fā)展背景及基本概念;第2章是搭建Hadoop分布式集群;第3~6章是HDFS分布式文件系統(tǒng)入門、HDFS接口、HDFS的運行機制、Hadoop I/O流操作;第7~10章是初識MapReduce編程模型、MapReduce應(yīng)用編程開發(fā)、MapReduce編程案例、MapReduce運行機制與YARN平臺;第11章是汽車銷售數(shù)據(jù)統(tǒng)計分析項目實戰(zhàn)。本書將理論與實踐相結(jié)合,介紹了大數(shù)據(jù)的核心技術(shù),并通過介紹一個企業(yè)的開發(fā)項目,深入講解大數(shù)據(jù)技術(shù)在實際工作中的應(yīng)用。
本書是為所有熱愛大數(shù)據(jù)、打算從事大數(shù)據(jù)相關(guān)工作的讀者而編寫的,適合有Java編程基礎(chǔ)的學(xué)習(xí)者參考使用,也適合作為高等院校、培訓(xùn)機構(gòu)的大數(shù)據(jù)技術(shù)教材。
1. 強調(diào)實戰(zhàn)
2. 覆蓋大數(shù)據(jù)行業(yè)主流技術(shù)崗位,緊跟市場與企業(yè)步伐
3. 來自企業(yè)的骨灰級大咖授課
4. 內(nèi)容結(jié)構(gòu)完整,根據(jù)循序漸進的認(rèn)識規(guī)律設(shè)計章節(jié)順序
楊力,原普開數(shù)據(jù)大數(shù)據(jù)架構(gòu)師兼教學(xué)總監(jiān),新奧集團公司云數(shù)據(jù)平臺項目首席架構(gòu)師,京東萬象大數(shù)據(jù)平臺締造人之一,二六三網(wǎng)絡(luò)通信反垃圾郵件系統(tǒng)平臺項目經(jīng)理。 現(xiàn)任沈陽兄弟連教學(xué)總監(jiān)。兄弟連是國內(nèi)知名的教育培訓(xùn)機構(gòu),目前已在新三板上市。其出版的細說系列,市場反映良好。
第1章 大數(shù)據(jù)概論 1
1.1 大數(shù)據(jù)的學(xué)習(xí)基礎(chǔ) 1
1.2 大數(shù)據(jù)的背景 2
1.3 對大數(shù)據(jù)的不同認(rèn)識 2
1.3.1 資深編程者眼中的大數(shù)據(jù) 2
1.3.2 營銷者和學(xué)者眼中的大數(shù)據(jù) 3
1.3.3 商家看大數(shù)據(jù) 4
1.4 大數(shù)據(jù)的行業(yè)案例 4
1.4.1 電子地圖 4
1.4.2 電子商務(wù)——用戶畫像 5
1.5 大數(shù)據(jù)的基本概念 6
1.5.1 兩個核心 6
1.5.2 分布式存儲 6
1.5.3 分布式計算 7
1.6 大數(shù)據(jù)技術(shù)生態(tài)圈 7
本章總結(jié) 8
本章習(xí)題 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 安裝中的關(guān)鍵問題 15
2.2.3 克隆HadoopSlave和HadoopSlave1 16
2.2.4 安裝SSH客戶端傳輸軟件 18
2.2.5 安裝Xshell 20
2.3 Linux系統(tǒng)配置 23
2.4 Hadoop的配置部署 39
本章總結(jié) 47
本章習(xí)題 47
第3章 HDFS入門 48
3.1 Hadoop分布式文件系統(tǒng)HDFS 48
3.1.1 認(rèn)識HDFS 48
3.1.2 HDFS的優(yōu)勢 49
3.1.3 HDFS局限性 50
3.1.4 HDFS特性 51
3.2 HDFS核心設(shè)計 52
3.2.1 數(shù)據(jù)塊 53
3.2.2 數(shù)據(jù)塊復(fù)制 53
3.2.3 數(shù)據(jù)塊副本的存放策略 54
3.2.4 機架感知 55
3.2.5 數(shù)據(jù)塊的備份數(shù) 56
3.2.6 安全模式 56
3.2.7 負(fù)載均衡 57
3.2.8 心跳機制 60
3.3 HDFS體系結(jié)構(gòu) 60
3.3.1 主從架構(gòu) 61
3.3.2 核心組件功能 61
3.3.3 數(shù)據(jù)塊損壞處理 63
本章總結(jié) 64
本章習(xí)題 64
第4章 HDFS接口 65
4.1 HDFS命令行接口 65
4.2 HDFS Java接口 67
4.2.1 在Linux虛擬機中安裝Eclipse 68
4.2.2 從Hadoop URL讀取數(shù)據(jù) 69
4.2.3 使用FileSystem讀取文件 70
4.2.4 FSDataInputStream對象隨機讀取 71
4.2.5 使用FileSystem寫入數(shù)據(jù) 72
4.2.6 FSDataOutputStream對象批量寫入 73
4.2.7 查詢文件狀態(tài)FileStatus 74
4.2.8 創(chuàng)建目錄 75
4.2.9 刪除文件與目錄 76
本章總結(jié) 77
本章習(xí)題 77
第5章 HDFS的運行機制 78
5.1 HDFS中數(shù)據(jù)流的讀寫 78
5.1.1 RPC流程 78
5.1.2 RPC實現(xiàn)模型 79
5.1.3 RPC Client主要流程 81
5.1.4 RPC Server實現(xiàn)模型 82
5.1.5 文件讀取 83
5.1.6 文件寫入 84
5.2 HA機制 85
5.2.1 HDFS的HA機制 85
5.2.2 集群節(jié)點任務(wù)規(guī)劃 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節(jié)點 102
5.2.13 驗證HA的故障自動轉(zhuǎn)移 103
5.3 Federation機制 105
5.3.1 初始HDFS Federation機制 105
5.3.2 HDFS Federation架構(gòu)原理 106
本章總結(jié) 107
本章習(xí)題 107
第6章 Hadoop I/O流操作 108
6.1 數(shù)據(jù)完整性 108
6.1.1 數(shù)據(jù)發(fā)生錯誤 108
6.1.2 數(shù)據(jù)的檢測 109
6.1.3 數(shù)據(jù)完整性機制 109
6.2 壓縮 111
6.2.1 壓縮格式 111
6.2.2 Hadoop中對壓縮格式的實現(xiàn)Codec 111
6.2.3 壓縮格式是否支持切分 114
6.3 序列化 114
6.3.1 序列化簡介 114
6.3.2 反序列化 115
6.3.3 序列化的分布式應(yīng)用 115
6.3.4 初識Hadoop序列化 115
6.3.5 Hadoop序列化實現(xiàn) 116
6.3.6 接口Comparable & Comparator與WritableComparable & WritableComparator 117
6.3.7 Writable類 123
6.4 基于文件的數(shù)據(jù)結(jié)構(gòu)SequenceFile 125
本章總結(jié) 127
本章習(xí)題 127
第7章 初識MapReduce編程模型 128
7.1 MapReduce編程框架 128
7.1.1 函數(shù)式編程模型 128
7.1.2 MapReduce編程模型概念 129
7.1.3 MapReduce的設(shè)計目標(biāo) 130
7.2 WordCount編程實例 130
7.2.1 案例需求 130
7.2.2 搭建開發(fā)環(huán)境Eclipse 131
7.2.3 代碼實現(xiàn) 132
7.2.4 代碼測試 135
7.2.5 案例剖析 139
7.3 Hadoop MapReduce架構(gòu) 141
7.3.1 Hadoop MapReduce架構(gòu)的基本概念 141
7.3.2 MapReduce架構(gòu)核心組件 142
本章總結(jié) 144
本章習(xí)題 144
第8章 MapReduce應(yīng)用編程開發(fā) 145
8.1 MapReduce編程開發(fā) 145
8.1.1 設(shè)計思路 145
8.1.2 搜索引擎數(shù)據(jù)處理實戰(zhàn) 147
8.2 MapReduce在集群上的運作 152
8.2.1 打包作業(yè) 152
8.2.2 啟動作業(yè) 154
8.2.3 通過WebUI查看Job狀態(tài) 154
8.3 MapReduce的類型與格式 155
8.3.1 combiner函數(shù) 155
8.3.2 MapReduce框架Partitioner分區(qū)方法 157
8.3.3 MapReduce輸入格式 158
本章總結(jié) 166
本章習(xí)題 166
第9章 MapReduce編程案例 167
9.1 數(shù)據(jù)去重 167
9.1.1 實例表述 167
9.1.2 設(shè)計思路 168
9.1.3 程序代碼 168
9.1.4 代碼結(jié)果 169
9.2 數(shù)據(jù)排序 170
9.2.1 實例表述 171
9.2.2 設(shè)計思路 171
9.2.3 程序代碼 171
9.2.4 代碼結(jié)果 173
9.3 平均成績 174
9.3.1 實例表述 174
9.3.2 設(shè)計思路 175
9.3.3 程序代碼 175
9.3.4 代碼結(jié)果 177
9.4 多表關(guān)聯(lián) 178
9.4.1 實例表述 178
9.4.2 設(shè)計思路 179
9.4.3 程序代碼 179
9.4.4 代碼結(jié)果 181
9.5 二次排序 182
9.5.1 實例描述 182
9.5.2 設(shè)計思路 182
9.5.3 程序代碼 182
9.5.4 代碼結(jié)果 185
本章總結(jié) 186
本章習(xí)題 186
第10章 MapReduce運行機制與YARN平臺 187
10.1 剖析MapReduce作業(yè)運行機制 187
10.1.1 提交作業(yè)的方式 187
10.1.2 作業(yè)的運行組件 187
10.1.3 作業(yè)的運行解析 188
10.2 Shuffle和排序 190
10.2.1 Mapper端 190
10.2.2 Reducer端 193
10.2.3 MapReduce性能調(diào)優(yōu) 196
10.3 任務(wù)的執(zhí)行 197
10.4 作業(yè)的調(diào)度 199
10.4.1 先進先出調(diào)度器 199
10.4.2 公平調(diào)度器 199
10.4.3 計算能力調(diào)度器 200
10.5 YARN平臺簡介 200
10.5.1 YARN的誕生 200
10.5.2 YARN的工作原理 200
10.6 YARN平臺架構(gòu) 201
本章總結(jié) 204
本章習(xí)題 204
第11章 汽車銷售數(shù)據(jù)統(tǒng)計分析項目 205
11.1 數(shù)據(jù)概況 205
11.2 項目實戰(zhàn) 206
11.2.1 統(tǒng)計乘用車輛和商用車輛的數(shù)量和銷售額分布 206
11.2.2 統(tǒng)計某年每個月的汽車銷售數(shù)量的比例 208
11.2.3 統(tǒng)計某個月份各市區(qū)縣的汽車銷售的數(shù)量 210
11.2.4 用戶數(shù)據(jù)市場分析——統(tǒng)計買車的男女比例 213
11.2.5 統(tǒng)計不同所有權(quán)、型號和類型汽車的銷售數(shù)量 216
11.2.6 統(tǒng)計不同車型的用戶的年齡和性別 218
11.2.7 統(tǒng)計分析不同車型銷售數(shù)據(jù) 219
11.2.8 通過不同類型(品牌)汽車銷售情況統(tǒng)計發(fā)動機型號和燃料種類 222
11.2.9 統(tǒng)計同排量不同品牌汽車的銷售量 224
本章總結(jié) 226
本章習(xí)題 226