Hadoop大數(shù)據(jù)開發(fā)實戰(zhàn)(慕課版)
定 價:59.8 元
- 作者:千鋒教育高教產(chǎn)品研發(fā)部
- 出版時間:2020/8/1
- ISBN:9787115519245
- 出 版 社:人民郵電出版社
- 中圖法分類:TP274
- 頁碼:268
- 紙張:
- 版次:01
- 開本:16開
共分11章,第1章對大數(shù)據(jù)及Hadoop進行總體介紹,第2章講解了如何搭建Hadoop集群。第3-5章講解了HDFS分布式文件系統(tǒng)、MapReduce分布式計算框架以及Zookeeper分布式協(xié)調服務。第6章講解Hadoop2.0的新特性。第7-10章主要講解了Hadoop生態(tài)圈中的相關輔助系統(tǒng),包括Hive、HBase分布式存儲系統(tǒng)、Flume、Saoop。第11章講解了綜合項目:電商精準營銷。
1.全書以實用、就業(yè)為導向
2.涵蓋從前期設計到最終實施的整個過程的所有知識點
3.避免一味講解理論,以實戰(zhàn)帶動講解
本教材既可作為高等院校大數(shù)據(jù)、計算機相關專業(yè)的教材,還可作為大數(shù)據(jù)開發(fā)人員的培訓用書或參考書。
千鋒教育 1.千鋒教育采用全程面授高品質、高成本培養(yǎng)模式,教學大綱緊跟企業(yè)需求,擁有全國一體化就業(yè)保障服務,成為學員信賴的IT職業(yè)教育品牌。 2.獲得榮譽包括:中關村移動互聯(lián)網(wǎng)產(chǎn)業(yè)聯(lián)盟副理事長單位、中國軟件協(xié)會教育培訓委員會認證一級培訓機構、中關村國際孵化軟件協(xié)會授權中關村移動互聯(lián)網(wǎng)學院、教育部教育管理信息中心指定移動互聯(lián)網(wǎng)實訓基地等。
第1章 初識Hadoop 1
1.1 大數(shù)據(jù)簡介 1
1.1.1 大數(shù)據(jù)的五大特征 1
1.1.2 大數(shù)據(jù)的六大發(fā)展趨勢 3
1.1.3 大數(shù)據(jù)在電商行業(yè)的應用 4
1.1.4 大數(shù)據(jù)在交通行業(yè)的應用 5
1.1.5 大數(shù)據(jù)在醫(yī)療行業(yè)的應用 5
1.2 大數(shù)據(jù)技術的核心需求 5
1.3 Hadoop簡介 6
1.3.1 什么是Hadoop 6
1.3.2 Hadoop的產(chǎn)生和發(fā)展 6
1.3.3 Hadoop的優(yōu)缺點 7
1.3.4 Hadoop版本介紹 7
1.3.5 Hadoop生態(tài)圈的相關組件 7
1.3.6 Hadoop應用介紹 8
1.3.7 國內(nèi)Hadoop的就業(yè)情況分析 9
1.3.8 分布式系統(tǒng)概述 10
1.4 離線數(shù)據(jù)分析流程介紹 10
1.4.1 項目需求描述 11
1.4.2 數(shù)據(jù)來源 11
1.4.3 數(shù)據(jù)處理流程 11
1.4.4 項目最終效果 12
1.5 大數(shù)據(jù)學習流程 12
1.6 本章小結 13
1.7 習題 14
第2章 搭建Hadoop集群 15
2.1 安裝準備 15
2.1.1 虛擬機安裝 15
2.1.2 虛擬機克隆 21
2.1.3 Linux系統(tǒng)網(wǎng)絡配置 23
2.1.4 SSH服務配置 26
2.2 Linux基本命令 28
2.2.1 系統(tǒng)工作命令 29
2.2.2 磁盤操作命令 30
2.2.3 目錄與文件操作命令 30
2.2.4 權限操作命令 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 集群測試 37
2.4.1 格式化文件系統(tǒng) 37
2.4.2 啟動和關閉Hadoop進程命令 37
2.4.3 啟動和查看Hadoop進程 38
2.4.4 查看Web界面 38
2.5 使用Hadoop集群 39
2.6 本章小結 40
2.7 習題 40
第3章 HDFS分布式文件系統(tǒng) 41
3.1 HDFS簡介 41
3.1.1 HDFS的概念 41
3.1.2 HDFS數(shù)據(jù)的存儲和讀取方式 42
3.1.3 HDFS的特點 42
3.2 HDFS存儲架構和數(shù)據(jù)讀寫流程 43
3.2.1 HDFS的存儲架構 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序列化簡介 55
3.5.2 常用實現(xiàn)Writable接口的類 56
3.5.3 自定義實現(xiàn)Writable接口的類 58
3.6 Hadoop小文件處理 59
3.6.1 壓縮小文件 59
3.6.2 創(chuàng)建序列文件 60
3.7 通信機制RPC 63
3.7.1 RPC簡介 63
3.7.2 Hadoop的RPC架構 63
3.8 本章小結 64
3.9 習題 64
第4章 MapReduce分布式計算框架 65
4.1 認識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è)簡介 82
4.3.2 MapReduce作業(yè)運行時的資源調度 82
4.3.3 MapReduce作業(yè)運行流程 83
4.4 MapReduce工作原理 83
4.4.1 Map任務工作原理 83
4.4.2 Reduce任務工作原理 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 準備模擬數(shù)據(jù) 91
4.8.2 輸出數(shù)據(jù)解析 92
4.8.3 編寫MapReduce程序 92
4.9 MapReduce典型案例——連接 94
4.9.1 準備模擬數(shù)據(jù) 94
4.9.2 輸出數(shù)據(jù)解析 94
4.9.3 編寫MapReduce程序 94
4.10 MapReduce典型案例——平均分以及百分比 97
4.10.1 準備模擬數(shù)據(jù) 97
4.10.2 輸出數(shù)據(jù)解析 97
4.10.3 編寫MapReduce程序 97
4.11 MapReduce典型案例——過濾敏感詞匯 100
4.11.1 準備模擬數(shù)據(jù) 100
4.11.2 創(chuàng)建敏感詞庫 101
4.11.3 編寫MapReduce程序 101
4.12 本章小結 103
4.13 習題 103
第5章 ZooKeeper分布式協(xié)調服務 105
5.1 認識ZooKeeper 105
5.1.1 ZooKeeper簡介 105
5.1.2 ZooKeeper的設計目的 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單機模式 108
5.2.2 ZooKeeper全分布式 109
5.2.3 ZooKeeper服務器常用腳本 111
5.2.4 ZooKeeper客戶端節(jié)點和命令 111
5.3 ZooKeeper客戶端編程 113
5.3.1 配置開發(fā)環(huán)境 113
5.3.2 Java程序操作ZooKeeper客戶端 114
5.4 ZooKeeper典型應用場景 115
5.4.1 數(shù)據(jù)發(fā)布與訂閱 115
5.4.2 命名服務 115
5.4.3 分布式鎖 116
5.5 本章小結 116
5.6 習題 116
第6章 Hadoop 2.0新特性 118
6.1 Hadoop 2.0的改進 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簡介 119
6.2.2 YARN架構 119
6.2.3 YARN的優(yōu)勢 120
6.3 Hadoop的HA模式 120
6.3.1 HA模式簡介 120
6.3.2 HDFS的HA模式 121
6.3.3 YARN的HA模式 127
6.3.4 啟動和關閉Hadoop的HA模式 131
6.4 本章小結 132
6.5 習題 132
第7章 Hive 133
7.1 數(shù)據(jù)倉庫簡介 133
7.1.1 數(shù)據(jù)倉庫概述 133
7.1.2 數(shù)據(jù)倉庫的使用 133
7.1.3 數(shù)據(jù)倉庫的特點 134
7.1.4 主流的數(shù)據(jù)倉庫 134
7.2 認識Hive 134
7.2.1 Hive簡介 134
7.2.2 Hive架構 135
7.2.3 Hive和關系型數(shù)據(jù)庫比較 136
7.3 Hive安裝 136
7.4 Hive數(shù)據(jù)類型 140
7.4.1 Hive基本數(shù)據(jù)類型 140
7.4.2 Hive復雜數(shù)據(jù)類型 141
7.5 Hive數(shù)據(jù)庫操作 142
7.6 Hive表 143
7.6.1 內(nèi)部表和外部表 143
7.6.2 對表進行分區(qū) 149
7.6.3 對表或分區(qū)進行桶操作 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驅動程序使用Hiveserver2服務 167
7.8.3 Hive用戶自定義函數(shù) 169
7.9 Hive性能優(yōu)化 171
7.10 Hive案例分析 173
7.11 本章小結 174
7.12 習題 174
第8章 HBase分布式存儲系統(tǒng) 175
8.1 認識HBase 175
8.1.1 HBase簡介 175
8.1.2 HBase的數(shù)據(jù)模型 176
8.1.3 HBase架構 176
8.1.4 HBase文件存儲格式 178
8.1.5 HBase存儲流程 179
8.1.6 HBase和HDFS 179
8.2 HBase表設計 179
8.2.1 列簇設計 179
8.2.2 行鍵設計 180
8.3 HBase安裝 180
8.3.1 HBase的單機模式 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實現(xiàn)WordCount 193
8.6 HBase過濾器和比較器 195
8.6.1 過濾器 195
8.6.2 比較器 196
8.6.3 編程實例 196
8.7 HBase與Hive結合 201
8.7.1 HBase與Hive結合的原因 201
8.7.2 Hive關聯(lián)HBase 201
8.8 HBase性能優(yōu)化 202
8.9 本章小結 204
8.10 習題 204
第9章 Flume 205
9.1 認識Flume 205
9.1.1 Flume簡介 205
9.1.2 Flume的特點 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 負載均衡 210
9.5.2 故障轉移 211
9.6 Flume攔截器 212
9.7 采集案例 214
9.7.1 采集目錄到HDFS 214
9.7.2 采集文件到HDFS 215
9.8 本章小結 216
9.9 習題 216
第10章 Sqoop 217
10.1 認識Sqoop 217
10.1.1 Sqoop簡介 217
10.1.2 Sqoop原理 218
10.1.3 Sqoop架構 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ù)導入 222
10.4.1 將MySQL的數(shù)據(jù)導入HDFS 222
10.4.2 將MySQL的數(shù)據(jù)導入Hive 223
10.4.3 將MySQL的數(shù)據(jù)導入HBase 226
10.4.4 增量導入 227
10.4.5 按需導入 229
10.5 Sqoop數(shù)據(jù)導出 230
10.5.1 將HDFS的數(shù)據(jù)導出到MySQL 230
10.5.2 將Hive的數(shù)據(jù)導出到MySQL 231
10.5.3 將HBase的數(shù)據(jù)導出到MySQL 231
10.6 Sqoop job 233
10.7 本章小結 233
10.8 習題 234
第11章 綜合項目——電商精準營銷 235
11.1 項目概述 235
11.1.1 項目背景介紹 235
11.1.2 項目架構設計 235
11.2 項目詳細介紹 237
11.2.1 項目核心關注點 237
11.2.2 重要概念 237
11.2.3 維度 238
11.3 項目模塊分析 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ù)格式轉換 245
11.5.3 利用MapReduce清洗數(shù)據(jù) 245
11.6 使用數(shù)據(jù)倉庫進行數(shù)據(jù)分析 253
11.6.1 事件板塊數(shù)據(jù)分析 253
11.6.2 訂單板塊數(shù)據(jù)分析 257
11.6.3 時間板塊數(shù)據(jù)分析 262
11.7 可視化 264
11.7.1 ECharts簡介 264
11.7.2 ECharts的優(yōu)點 265
11.7.3 操作流程 265
11.8 本章小結 267
11.9 習題 267
附錄 268