Hadoop大數據開發基礎與實戰(微課版)
汪金龍 康利娟
- 出版商: 人民郵電
- 出版日期: 2025-06-01
- 售價: $419
- 語言: 簡體中文
- 頁數: 292
- ISBN: 7115643458
- ISBN-13: 9787115643452
-
相關分類:
Hadoop、大數據 Big-data
下單後立即進貨 (約4週~6週)
商品描述
本書主要講解了Hadoop大數據開發基礎與實戰的相關內容,全書共11章,其中第1章為初識Hadoop,第2章為Hadoop集群的搭建,第3章為分布式協調框架ZooKeeper,第4章為分布式文件系統HDFS,第5章分布式計算框架MapReduce,第6章為YARN框架與HA模式,第7章為數據倉庫Hive,第8章為分布式存儲系統HBase,第9章為數據同步工具Sqoop,第10章為Flume,第11章為綜合項目——基於Hadoop的雲盤設計與實現,該項目主要鞏固了第1~10章學習的Hadoop基礎知識。希望通過對本書的學習,讀者能夠掌握Hadoop分布式計算和存儲技術,並根據實際業務需求結合其他組件合理使用Hadoop的存儲系統和計算引擎。
本書既可作為高等院校計算機類相關專業的教材,也可作為相關技術愛好者的入門用書。
作者簡介
1.千鋒教育采用全程面授高品質、高成本培養模式,教學大綱緊跟企業需求,擁有全國一體化就業保障服務,成為學員信賴的IT職業教育品牌。 2.獲得榮譽包括:中關村移動互聯網產業聯盟副理事長單位、中國軟件協會教育培訓委員會認證一級培訓機構、中關村國際孵化軟件協會授權中關村移動互聯網學院、教育部教育管理信息中心指定移動互聯網實訓基地等。
目錄大綱
第 1章 初識Hadoop
1.1 大數據概述 1
1.1.1 什麼是大數據 1
1.1.2 大數據的特征 2
1.1.3 大數據的發展趨勢 3
1.2 大數據的應用 4
1.3 大數據技術簡介 6
1.4 Hadoop概述 7
1.4.1 Hadoop簡介 8
1.4.2 Hadoop的優缺點 8
1.4.3 Hadoop的產生和發展歷程 9
1.4.4 Hadoop的版本介紹 9
1.4.5 Hadoop 3.0的新特性 10
1.4.6 Hadoop生態圈的相關組件 12
1.4.7 國內Hadoop的就業情況分析 12
1.4.8 國內外Hadoop應用案例介紹 13
1.5 實戰演練:Web日誌數據挖掘系統 14
本章小結 16
習題 17
第 2章 Hadoop集群的搭建
2.1 安裝準備 18
2.1.1 虛擬機安裝 18
2.1.2 虛擬機克隆 26
2.1.3 Linux系統網絡配置 27
2.1.4 SSH服務配置 30
2.2 Linux常用命令 32
2.2.1 查看系統、進程和網絡信息的命令 32
2.2.2 磁盤操作命令 33
2.2.3 目錄與文件操作命令 34
2.2.4 權限操作命令 35
2.3 Hadoop集群的搭建 36
2.3.1 Hadoop集群的部署模式 36
2.3.2 安裝JDK 36
2.3.3 安裝Hadoop 37
2.3.4 Hadoop集群的配置 37
2.4 Hadoop集群的測試 40
2.4.1 格式化文件系統 41
2.4.2 啟動和關閉Hadoop進程命令 41
2.4.3 啟動和查看Hadoop進程 42
2.4.4 監控HDFS集群和YARN集群 42
2.5 Hadoop集群的使用 43
本章小結 44
習題 44
第3章 分布式協調框架ZooKeeper
3.1 初識ZooKeeper 45
3.1.1 ZooKeeper簡介 45
3.1.2 ZooKeeper的設計目標 46
3.1.3 ZooKeeper工作原理 46
3.2 ZooKeeper的安裝和常用命令 47
3.2.1 單機模式下安裝與配置ZooKeeper 48
3.2.2 全分布式模式下安裝與配置ZooKeeper 49
3.2.3 ZooKeeper客戶端的節點和命令 51
3.3 ZooKeeper客戶端實戰 53
3.4 ZooKeeper典型應用場景 55
3.4.1 數據發布與訂閱 55
3.4.2 命名服務 56
3.4.3 分布式鎖 56
本章小結 56
習題 57
第4章 分布式文件系統HDFS
4.1 HDFS概述 58
4.2 HDFS的架構 59
4.3 HDFS讀/寫數據的流程 61
4.4 HDFSShell命令 63
4.5 使用Java程序操作HDFS 65
4.5.1 HDFS Java API概述 65
4.5.2 使用Java API操作HDFS 66
4.6 Hadoop序列化 72
4.6.1 Hadoop序列化簡介 72
4.6.2 實現Hadoop序列化的常用類 74
4.6.3 自定義實現Writable接口的類 76
4.7 Hadoop小文件處理 78
4.7.1 壓縮小文件 78
4.7.2 創建序列化文件 79
4.8 HDFS的RPC機制 82
4.8.1 RPC機制簡介 82
4.8.2 RPC的架構 82
4.9 實戰演練:文件詞頻統計 83
本章小結 85
習題 85
第5章 分布式計算框架MapReduce
5.1 初識MapReduce 87
5.1.1 MapReduce核心思想 87
5.1.2 MapReduce的編程模型 88
5.1.3 實戰演練:詞頻統計 89
5.2 MapReduce作業 94
5.2.1 MapReduce作業概述 94
5.2.2 MapReduce作業運行時的資源調度 94
5.2.3 MapReduce作業的運行流程 95
5.3 MapReduce工作原理 96
5.3.1 Map任務的工作原理 96
5.3.2 Reduce任務的工作原理 96
5.4 MapReduce的Shuffle階段 97
5.4.1 Shuffle的概念 97
5.4.2 Map端的Shuffle 97
5.4.3 Reduce端的Shuffle 98
5.5 MapReduce編程組件 98
5.5.1 InputFormat組件 98
5.5.2 OutputFormat組件 100
5.5.3 RecordReader組件和RecordWriter組件 103
5.5.4 Partitioner組件 104
5.5.5 Combiner組件 106
5.6 數據傾斜 111
5.7 排序 111
5.7.1 排序概述 111
5.7.2 部分排序 112
5.7.3 全排序 113
5.8 實戰演練:倒排索引 117
5.9 實戰演練:連接 121
5.10 實戰演練:平均分和百分比 124
5.11 實戰演練:過濾敏感詞匯 128
本章小結 130
習題 130
第6章 YARN框架與HA模式
6.1 YARN框架 132
6.1.1 YARN簡介 132
6.1.2 YARN的工作流程 133
6.1.3 YARN的優勢 134
6.2 Hadoop的HA模式 134
6.2.1 HA模式簡介 134
6.2.2 HDFS的HA模式 135
6.2.3 YARN的HA模式 141
6.2.4 啟動和關閉Hadoop的HA模式 145
本章小結 146
習題 146
第7章 數據倉庫Hive
7.1 數據倉庫簡介 147
7.1.1 數據倉庫概述 147
7.1.2 數據倉庫應用 148
7.1.3 數據倉庫特點 149
7.1.4 數據倉庫數據模型 149
7.1.5 數據倉庫和數據庫的區別 150
7.2 初識Hive 151
7.2.1 Hive簡介 151
7.2.2 Hive架構 152
7.2.3 Hive特點 153
7.2.4 Hive和關系型數據庫的比較 154
7.3 Hive的安裝 154
7.4 Hive的數據類型 158
7.4.1 基本數據類型 159
7.4.2 復雜數據類型 159
7.5 Hive的數據庫操作 161
7.6 Hive中的表 162
7.6.1 內部表和外部表 162
7.6.2 對表進行分區 168
7.6.3 對表或分區進行桶操作 173
7.7 Hive表的查詢 176
7.7.1 select查詢語句 177
7.7.2 視圖 182
7.7.3 連接 183
7.8 Hive函數 187
7.8.1 Hive內置函數 187
7.8.2 通過JDBC驅動程序使用HiveSever2服務 189
7.8.3 Hive用戶自定義函數 191
7.9 Hive性能優化 193
7.10 實戰演練:機頂盒數據分析 195
本章小結 196
習題 196
第8章 分布式存儲系統HBase
8.1 初識HBase 197
8.1.1 HBase簡介 197
8.1.2 HBase的數據模型 198
8.1.3 HBase架構 199
8.1.4 HBase文件存儲格式 200
8.1.5 HBase存儲過程 201
8.1.6 HBase和HDFS 202
8.2 HBase表設計 203
8.2.1 行鍵設計 203
8.2.2 列簇設計 204
8.3 HBase安裝和部署 204
8.3.1 完全分布式模式 204
8.3.2 HA模式 207
8.4 HBase Shell的常用操作命令 209
8.4.1 常規命令 209
8.4.2 常用的命名空間相關命令 210
8.4.3 常用的DDL命令 211
8.4.4 常用的DML命令 213
8.5 HBase編程 215
8.5.1 配置開發環境 216
8.5.2 使用Java API操作HBase 216
8.5.3 使用HBase實現WordCount 220
8.6 HBase的過濾器和比較器 223
8.6.1 過濾器 223
8.6.2 比較器 224
8.6.3 編程實操 224
8.7 HBase和Hive的結合使用 230
8.7.1 HBase與Hive結合使用的原因 230
8.7.2 Hive關聯HBase 230
8.8 HBase的性能優化 232
本章小結 233
習題 234
第9章 數據同步工具Sqoop
9.1 初識Sqoop 235
9.1.1 Sqoop簡介 235
9.1.2 Sqoop架構 236
9.1.3 Sqoop的工作原理 236
9.2 Sqoop安裝 238
9.3 Sqoop的命令與參數 240
9.3.1 Sqoop的常用命令 240
9.3.2 常用命令的參數 240
9.3.3 Sqoop命令的基本操作 241
9.4 Sqoop數據導入 243
9.4.1 將MySQL中的數據導入HDFS 243
9.4.2 將MySQL中的數據導入Hive 244
9.4.3 將MySQL中的數據導入HBase 247
9.4.4 增量導入 248
9.4.5 按需導入 250
9.5 Sqoop數據導出 251
9.5.1 將HDFS中的數據導出到MySQL 251
9.5.2 將Hive中的數據導出到MySQL 252
9.5.3 將HBase中的數據導出到MySQL 253
9.6 Sqoop Job 254
本章小結 255
習題 255
第 10章 Flume
10.1 初識Flume 257
10.1.1 Flume簡介 257
10.1.2 Flume的特點 258
10.2 Flume的核心概念 258
10.2.1 Event 258
10.2.2 Agent 259
10.3 Flume安裝 260
10.4 Flume數據流模型 261
10.5 Flume的可靠性保證 263
10.5.1 負載均衡 263
10.5.2 故障轉移 265
10.6 Flume攔截器 266
10.7 采集案例 268
10.7.1 將目錄采集到HDFS中 269
10.7.2 將文件采集到HDFS中 270
本章小結 271
習題 271
第 11章 綜合項目——基於Hadoop的雲盤設計與實現
11.1 項目概述 272
11.1.1 項目簡介 272
11.1.2 開發環境 273
11.1.3 項目架構設計 273
11.2 雲盤頁面效果展示 274
11.2.1 雲盤主頁 274
11.2.2 “新增目錄”對話框 275
11.2.3 “上傳文件”對話框 275
11.2.4 操作文件的下拉菜單 276
11.2.5 “重命名”對話框 277
11.2.6 文件管理的下拉菜單 277
11.3 創建雲盤項目並配置環境 278
11.4 實現雲盤頁面效果 280
11.5 前後端交互 281
11.6 實現雲盤頁面功能 286
11.6.1 獲取文件和子目錄列表 286
11.6.2 新增目錄 287
11.6.3 上傳文件 288
11.6.4 下載文件 289
11.6.5 重命名文件 289
11.6.6 刪除文件 290
11.6.7 檢索文件 291
本章小結 292