Hadoop大數(shù)據(jù)開發(fā)實(shí)戰(zhàn)(慕課版)
定 價(jià):59.8 元
- 作者:千鋒教育高教產(chǎn)品研發(fā)部
- 出版時(shí)間:2020/8/1
- ISBN:9787115519245
- 出 版 社:人民郵電出版社
- 中圖法分類:TP274
- 頁碼:268
- 紙張:
- 版次:01
- 開本:16開
共分11章,第1章對(duì)大數(shù)據(jù)及Hadoop進(jìn)行總體介紹,第2章講解了如何搭建Hadoop集群。第3-5章講解了HDFS分布式文件系統(tǒng)、MapReduce分布式計(jì)算框架以及Zookeeper分布式協(xié)調(diào)服務(wù)。第6章講解Hadoop2.0的新特性。第7-10章主要講解了Hadoop生態(tài)圈中的相關(guān)輔助系統(tǒng),包括Hive、HBase分布式存儲(chǔ)系統(tǒng)、Flume、Saoop。第11章講解了綜合項(xiàng)目:電商精準(zhǔn)營銷。
1.全書以實(shí)用、就業(yè)為導(dǎo)向
2.涵蓋從前期設(shè)計(jì)到最終實(shí)施的整個(gè)過程的所有知識(shí)點(diǎn)
3.避免一味講解理論,以實(shí)戰(zhàn)帶動(dòng)講解
本教材既可作為高等院校大數(shù)據(jù)、計(jì)算機(jī)相關(guān)專業(yè)的教材,還可作為大數(shù)據(jù)開發(fā)人員的培訓(xùn)用書或參考書。
千鋒教育 1.千鋒教育采用全程面授高品質(zhì)、高成本培養(yǎng)模式,教學(xué)大綱緊跟企業(yè)需求,擁有全國一體化就業(yè)保障服務(wù),成為學(xué)員信賴的IT職業(yè)教育品牌。 2.獲得榮譽(yù)包括:中關(guān)村移動(dòng)互聯(lián)網(wǎng)產(chǎn)業(yè)聯(lián)盟副理事長(zhǎng)單位、中國軟件協(xié)會(huì)教育培訓(xùn)委員會(huì)認(rèn)證一級(jí)培訓(xùn)機(jī)構(gòu)、中關(guān)村國際孵化軟件協(xié)會(huì)授權(quán)中關(guān)村移動(dòng)互聯(lián)網(wǎng)學(xué)院、教育部教育管理信息中心指定移動(dòng)互聯(lián)網(wǎng)實(shí)訓(xùn)基地等。
第1章 初識(shí)Hadoop 1
1.1 大數(shù)據(jù)簡(jiǎn)介 1
1.1.1 大數(shù)據(jù)的五大特征 1
1.1.2 大數(shù)據(jù)的六大發(fā)展趨勢(shì) 3
1.1.3 大數(shù)據(jù)在電商行業(yè)的應(yīng)用 4
1.1.4 大數(shù)據(jù)在交通行業(yè)的應(yīng)用 5
1.1.5 大數(shù)據(jù)在醫(yī)療行業(yè)的應(yīng)用 5
1.2 大數(shù)據(jù)技術(shù)的核心需求 5
1.3 Hadoop簡(jiǎn)介 6
1.3.1 什么是Hadoop 6
1.3.2 Hadoop的產(chǎn)生和發(fā)展 6
1.3.3 Hadoop的優(yōu)缺點(diǎn) 7
1.3.4 Hadoop版本介紹 7
1.3.5 Hadoop生態(tài)圈的相關(guān)組件 7
1.3.6 Hadoop應(yīng)用介紹 8
1.3.7 國內(nèi)Hadoop的就業(yè)情況分析 9
1.3.8 分布式系統(tǒng)概述 10
1.4 離線數(shù)據(jù)分析流程介紹 10
1.4.1 項(xiàng)目需求描述 11
1.4.2 數(shù)據(jù)來源 11
1.4.3 數(shù)據(jù)處理流程 11
1.4.4 項(xiàng)目最終效果 12
1.5 大數(shù)據(jù)學(xué)習(xí)流程 12
1.6 本章小結(jié) 13
1.7 習(xí)題 14
第2章 搭建Hadoop集群 15
2.1 安裝準(zhǔn)備 15
2.1.1 虛擬機(jī)安裝 15
2.1.2 虛擬機(jī)克隆 21
2.1.3 Linux系統(tǒng)網(wǎng)絡(luò)配置 23
2.1.4 SSH服務(wù)配置 26
2.2 Linux基本命令 28
2.2.1 系統(tǒng)工作命令 29
2.2.2 磁盤操作命令 30
2.2.3 目錄與文件操作命令 30
2.2.4 權(quán)限操作命令 31
2.3 Hadoop集群搭建 32
2.3.1 Hadoop集群部署模式 32
2.3.2 安裝JDK 32
2.3.3 安裝Hadoop 33
2.3.4 Hadoop集群配置 34
2.4 Hadoop 集群測(cè)試 37
2.4.1 格式化文件系統(tǒng) 37
2.4.2 啟動(dòng)和關(guān)閉Hadoop進(jìn)程命令 37
2.4.3 啟動(dòng)和查看Hadoop進(jìn)程 38
2.4.4 查看Web界面 38
2.5 使用Hadoop集群 39
2.6 本章小結(jié) 40
2.7 習(xí)題 40
第3章 HDFS分布式文件系統(tǒng) 41
3.1 HDFS簡(jiǎn)介 41
3.1.1 HDFS的概念 41
3.1.2 HDFS數(shù)據(jù)的存儲(chǔ)和讀取方式 42
3.1.3 HDFS的特點(diǎn) 42
3.2 HDFS存儲(chǔ)架構(gòu)和數(shù)據(jù)讀寫流程 43
3.2.1 HDFS的存儲(chǔ)架構(gòu) 43
3.2.2 HDFS的數(shù)據(jù)讀寫流程 44
3.3 HDFS的Shell命令 46
3.4 Java程序操作HDFS 47
3.4.1 HDFS Java API概述 47
3.4.2 使用Java API操作HDFS 47
3.5 Hadoop序列化 55
3.5.1 Hadoop序列化簡(jiǎn)介 55
3.5.2 常用實(shí)現(xiàn)Writable接口的類 56
3.5.3 自定義實(shí)現(xiàn)Writable接口的類 58
3.6 Hadoop小文件處理 59
3.6.1 壓縮小文件 59
3.6.2 創(chuàng)建序列文件 60
3.7 通信機(jī)制RPC 63
3.7.1 RPC簡(jiǎn)介 63
3.7.2 Hadoop的RPC架構(gòu) 63
3.8 本章小結(jié) 64
3.9 習(xí)題 64
第4章 MapReduce分布式計(jì)算框架 65
4.1 認(rèn)識(shí)MapReduce 65
4.1.1 MapReduce核心思想 65
4.1.2 MapReduce編程模型 65
4.1.3 MapReduce編程案例——WordCount 67
4.2 MapReduce編程組件 72
4.2.1 InputFormat組件 72
4.2.2 OutputFormat組件 73
4.2.3 RecordReader組件和
RecordWriter組件 76
4.2.4 Partitioner組件 76
4.2.5 Combiner組件 78
4.3 MapReduce作業(yè)解析 82
4.3.1 MapReduce作業(yè)簡(jiǎn)介 82
4.3.2 MapReduce作業(yè)運(yùn)行時(shí)的資源調(diào)度 82
4.3.3 MapReduce作業(yè)運(yùn)行流程 83
4.4 MapReduce工作原理 83
4.4.1 Map任務(wù)工作原理 83
4.4.2 Reduce任務(wù)工作原理 83
4.5 Shuffle階段 83
4.5.1 Shuffle的概念 83
4.5.2 Map端的Shuffle 84
4.5.3 Reduce端的Shuffle 85
4.6 優(yōu)化——數(shù)據(jù)傾斜 85
4.7 MapReduce典型案例——排序 86
4.7.1 部分排序 86
4.7.2 全排序 87
4.8 MapReduce典型案例——倒排索引 91
4.8.1 準(zhǔn)備模擬數(shù)據(jù) 91
4.8.2 輸出數(shù)據(jù)解析 92
4.8.3 編寫MapReduce程序 92
4.9 MapReduce典型案例——連接 94
4.9.1 準(zhǔn)備模擬數(shù)據(jù) 94
4.9.2 輸出數(shù)據(jù)解析 94
4.9.3 編寫MapReduce程序 94
4.10 MapReduce典型案例——平均分以及百分比 97
4.10.1 準(zhǔn)備模擬數(shù)據(jù) 97
4.10.2 輸出數(shù)據(jù)解析 97
4.10.3 編寫MapReduce程序 97
4.11 MapReduce典型案例——過濾敏感詞匯 100
4.11.1 準(zhǔn)備模擬數(shù)據(jù) 100
4.11.2 創(chuàng)建敏感詞庫 101
4.11.3 編寫MapReduce程序 101
4.12 本章小結(jié) 103
4.13 習(xí)題 103
第5章 ZooKeeper分布式協(xié)調(diào)服務(wù) 105
5.1 認(rèn)識(shí)ZooKeeper 105
5.1.1 ZooKeeper簡(jiǎn)介 105
5.1.2 ZooKeeper的設(shè)計(jì)目的 105
5.1.3 ZooKeeper的系統(tǒng)模型 106
5.1.4 ZooKeeper中的角色 106
5.1.5 ZooKeeper的工作原理 107
5.2 ZooKeeper安裝和常用命令 108
5.2.1 ZooKeeper單機(jī)模式 108
5.2.2 ZooKeeper全分布式 109
5.2.3 ZooKeeper服務(wù)器常用腳本 111
5.2.4 ZooKeeper客戶端節(jié)點(diǎn)和命令 111
5.3 ZooKeeper客戶端編程 113
5.3.1 配置開發(fā)環(huán)境 113
5.3.2 Java程序操作ZooKeeper客戶端 114
5.4 ZooKeeper典型應(yīng)用場(chǎng)景 115
5.4.1 數(shù)據(jù)發(fā)布與訂閱 115
5.4.2 命名服務(wù) 115
5.4.3 分布式鎖 116
5.5 本章小結(jié) 116
5.6 習(xí)題 116
第6章 Hadoop 2.0新特性 118
6.1 Hadoop 2.0的改進(jìn) 118
6.1.1 HDFS存在的問題 118
6.1.2 MapReduce存在的問題 118
6.1.3 HDFS 2.0解決HDFS 1.0中的問題 119
6.2 YARN資源管理框架 119
6.2.1 YARN簡(jiǎn)介 119
6.2.2 YARN架構(gòu) 119
6.2.3 YARN的優(yōu)勢(shì) 120
6.3 Hadoop的HA模式 120
6.3.1 HA模式簡(jiǎn)介 120
6.3.2 HDFS的HA模式 121
6.3.3 YARN的HA模式 127
6.3.4 啟動(dòng)和關(guān)閉Hadoop的HA模式 131
6.4 本章小結(jié) 132
6.5 習(xí)題 132
第7章 Hive 133
7.1 數(shù)據(jù)倉庫簡(jiǎn)介 133
7.1.1 數(shù)據(jù)倉庫概述 133
7.1.2 數(shù)據(jù)倉庫的使用 133
7.1.3 數(shù)據(jù)倉庫的特點(diǎn) 134
7.1.4 主流的數(shù)據(jù)倉庫 134
7.2 認(rèn)識(shí)Hive 134
7.2.1 Hive簡(jiǎn)介 134
7.2.2 Hive架構(gòu) 135
7.2.3 Hive和關(guān)系型數(shù)據(jù)庫比較 136
7.3 Hive安裝 136
7.4 Hive數(shù)據(jù)類型 140
7.4.1 Hive基本數(shù)據(jù)類型 140
7.4.2 Hive復(fù)雜數(shù)據(jù)類型 141
7.5 Hive數(shù)據(jù)庫操作 142
7.6 Hive表 143
7.6.1 內(nèi)部表和外部表 143
7.6.2 對(duì)表進(jìn)行分區(qū) 149
7.6.3 對(duì)表或分區(qū)進(jìn)行桶操作 153
7.7 Hive表的查詢 156
7.7.1 select查詢語句 156
7.7.2 視圖 161
7.7.3 Join 162
7.8 Hive函數(shù) 165
7.8.1 Hive內(nèi)置函數(shù) 165
7.8.2 通過JDBC驅(qū)動(dòng)程序使用Hiveserver2服務(wù) 167
7.8.3 Hive用戶自定義函數(shù) 169
7.9 Hive性能優(yōu)化 171
7.10 Hive案例分析 173
7.11 本章小結(jié) 174
7.12 習(xí)題 174
第8章 HBase分布式存儲(chǔ)系統(tǒng) 175
8.1 認(rèn)識(shí)HBase 175
8.1.1 HBase簡(jiǎn)介 175
8.1.2 HBase的數(shù)據(jù)模型 176
8.1.3 HBase架構(gòu) 176
8.1.4 HBase文件存儲(chǔ)格式 178
8.1.5 HBase存儲(chǔ)流程 179
8.1.6 HBase和HDFS 179
8.2 HBase表設(shè)計(jì) 179
8.2.1 列簇設(shè)計(jì) 179
8.2.2 行鍵設(shè)計(jì) 180
8.3 HBase安裝 180
8.3.1 HBase的單機(jī)模式 180
8.3.2 HBase的HA模式 182
8.4 HBase Shell常用操作 184
8.5 HBase編程 190
8.5.1 配置開發(fā)環(huán)境 190
8.5.2 使用Java API操作HBase 191
8.5.3 使用HBase實(shí)現(xiàn)WordCount 193
8.6 HBase過濾器和比較器 195
8.6.1 過濾器 195
8.6.2 比較器 196
8.6.3 編程實(shí)例 196
8.7 HBase與Hive結(jié)合 201
8.7.1 HBase與Hive結(jié)合的原因 201
8.7.2 Hive關(guān)聯(lián)HBase 201
8.8 HBase性能優(yōu)化 202
8.9 本章小結(jié) 204
8.10 習(xí)題 204
第9章 Flume 205
9.1 認(rèn)識(shí)Flume 205
9.1.1 Flume簡(jiǎn)介 205
9.1.2 Flume的特點(diǎn) 205
9.2 Flume基本組件 206
9.2.1 Event 206
9.2.2 Agent 206
9.3 Flume安裝 207
9.4 Flume數(shù)據(jù)流模型 208
9.5 Flume的可靠性保證 210
9.5.1 負(fù)載均衡 210
9.5.2 故障轉(zhuǎn)移 211
9.6 Flume攔截器 212
9.7 采集案例 214
9.7.1 采集目錄到HDFS 214
9.7.2 采集文件到HDFS 215
9.8 本章小結(jié) 216
9.9 習(xí)題 216
第10章 Sqoop 217
10.1 認(rèn)識(shí)Sqoop 217
10.1.1 Sqoop簡(jiǎn)介 217
10.1.2 Sqoop原理 218
10.1.3 Sqoop架構(gòu) 218
10.2 Sqoop安裝 218
10.3 Sqoop命令 220
10.3.1 Sqoop數(shù)據(jù)庫連接參數(shù) 221
10.3.2 Sqoop export參數(shù) 221
10.3.3 Sqoop import參數(shù) 221
10.3.4 Sqoop import命令的基本操作 221
10.4 Sqoop數(shù)據(jù)導(dǎo)入 222
10.4.1 將MySQL的數(shù)據(jù)導(dǎo)入HDFS 222
10.4.2 將MySQL的數(shù)據(jù)導(dǎo)入Hive 223
10.4.3 將MySQL的數(shù)據(jù)導(dǎo)入HBase 226
10.4.4 增量導(dǎo)入 227
10.4.5 按需導(dǎo)入 229
10.5 Sqoop數(shù)據(jù)導(dǎo)出 230
10.5.1 將HDFS的數(shù)據(jù)導(dǎo)出到MySQL 230
10.5.2 將Hive的數(shù)據(jù)導(dǎo)出到MySQL 231
10.5.3 將HBase的數(shù)據(jù)導(dǎo)出到MySQL 231
10.6 Sqoop job 233
10.7 本章小結(jié) 233
10.8 習(xí)題 234
第11章 綜合項(xiàng)目——電商精準(zhǔn)營銷 235
11.1 項(xiàng)目概述 235
11.1.1 項(xiàng)目背景介紹 235
11.1.2 項(xiàng)目架構(gòu)設(shè)計(jì) 235
11.2 項(xiàng)目詳細(xì)介紹 237
11.2.1 項(xiàng)目核心關(guān)注點(diǎn) 237
11.2.2 重要概念 237
11.2.3 維度 238
11.3 項(xiàng)目模塊分析 239
11.3.1 用戶基本信息分析模塊 239
11.3.2 瀏覽器分析模塊 239
11.3.3 地域分析模塊 239
11.3.4 外鏈分析模塊 239
11.4 數(shù)據(jù)采集 240
11.4.1 日志采集系統(tǒng)概述 240
11.4.2 JS SDK收集數(shù)據(jù) 240
11.4.3 Java SDK收集數(shù)據(jù) 242
11.4.4 使用Flume搭建日志采集系統(tǒng) 243
11.4.5 日志信息說明 244
11.5 數(shù)據(jù)清洗 245
11.5.1 分析需要清洗的數(shù)據(jù) 245
11.5.2 解析數(shù)據(jù)格式轉(zhuǎn)換 245
11.5.3 利用MapReduce清洗數(shù)據(jù) 245
11.6 使用數(shù)據(jù)倉庫進(jìn)行數(shù)據(jù)分析 253
11.6.1 事件板塊數(shù)據(jù)分析 253
11.6.2 訂單板塊數(shù)據(jù)分析 257
11.6.3 時(shí)間板塊數(shù)據(jù)分析 262
11.7 可視化 264
11.7.1 ECharts簡(jiǎn)介 264
11.7.2 ECharts的優(yōu)點(diǎn) 265
11.7.3 操作流程 265
11.8 本章小結(jié) 267
11.9 習(xí)題 267
附錄 268