《Hadoop 3大數據技術快速入門》是清華大學出版社出版圖書,作者是牛搞。
基本介紹
- 中文名:Hadoop 3大數據技術快速入門
- 作者:牛搞
- 類別:信息技術
- 出版社:清華大學出版社
- 出版時間:2021年9月
- 定價:59 元
- 開本:16 開
- 裝幀:平裝
- ISBN:9787302586463
內容簡介,作者簡介,目錄,
內容簡介
本書基於Hadoop 3.3.0,覆蓋Hadoop、HBase、Hive的核心概念、實踐套用、程式開發等方面的內容,幫你快速解決大數據是什麼和怎么用的問題,書中還利用Docker來部署Hadoop分散式集群,讓你同時學會4種流行的技術。
本書共9章,主要內容包括Hadoop概述、HDFS原理詳解、Yarn原理詳解、Hadoop系統配置、高可用Hadoop配置、HDFS編程、MapReduce編程、Hive實戰、HBase實戰。本書從案例入手、通俗易懂,能使讀者在最短時間內迅速掌握Hadoop大數據技術。
本書既適合Hadoop大數據初學者、大數據套用開發人員、大數據處理人員使用,也適合高等院校和培訓機構大數據相關專業的師生教學參考。
作者簡介
牛搞,軟體開發從業15年編程實戰經驗,流媒體技術專家,高性能伺服器專家。CSDN知名博主。現為IOS、Adroid、C++高級培訓講師。著有圖書《Android 9編程通俗演義》《Android 10 Kotlin編程通俗演義》。
目錄
第1章 概述 1
1.1 什麼是大數據 1
1.1.1 大數據系統的定位 1
1.1.2 與傳統分散式系統的區別 1
1.1.3 成功的大數據系統項目 2
1.2 Hadoop的原理 2
1.2.1 存儲與資源調度 2
1.2.2 計算框架原理 2
1.3 總結 5
第2章 HDFS原理詳解 6
2.1 主從節點架構 6
2.2 數據冗餘 7
2.3 fsimage與edits 8
2.4 SecondaryNameNode 9
2.5 HA 10
2.6 自動故障轉移 11
2.7 ZooKeeper 13
2.8 防腦裂 14
2.9 聯邦 15
2.10 總結 16
第3章 Yarn原理詳解 17
3.1 概述 17
3.2 作業調度策略 19
3.2.1 容量調度器 19
3.2.2 公平調度器 21
3.2.3 佇列其他事項 22
3.3 Yarn與MapReduce程式 22
第4章 配置Hadoop系統 24
4.1 Docker簡介 24
4.2 安裝Docker 25
4.2.1 Windows、macOS做宿主系統 25
4.2.2 Linux做宿主系統 26
4.2.3 測試Docker容器 30
4.3 創建Hadoop容器 32
4.4 配置獨立模式Hadoop 34
4.5 配置偽分布Hadoop 37
4.5.1 安裝並配置SSH 37
4.5.2 安裝其他命令行程式 38
4.5.3 編輯core-site.xml 38
4.5.4 編輯hdfs-site.xml 39
4.5.5 編輯mapred-site.xml 40
4.5.6 編輯yarn-site.xml 40
4.5.7 編輯hadoop-env.sh 41
4.5.8 運行偽分散式Hadoop 41
4.5.9 狀態監控 43
4.6 基於Dockerfile的偽分布Hadoop 45
4.6.1 Dockerfile 45
4.6.2 構建Hadoop鏡像 46
4.6.3 運行容器 47
4.6.4 配置Hadoop 48
4.7 配置全分散式Hadoop 49
4.7.1 組件部署架構 49
4.7.2 配置思路 50
4.7.3 修改配置檔案 50
4.7.4 創建集群 51
4.7.5 啟動集群 53
4.8 Windows下運行Hadoop 55
4.8.1 配置獨立模式Hadoop 55
4.8.2 配置偽分散式Hadoop 56
4.9 Yarn調度配置 60
4.9.1 容量調度器 61
4.9.2 公平調度器 63
第5章 配置高可用Hadoop 66
5.1 HDFS高可用 66
5.1.1 組件部署架構 66
5.1.2 修改配置檔案 67
5.1.3 創建鏡像 70
5.1.4 創建HA HDFS集群 72
5.1.5 運行HA HDFS 73
5.1.6 測試HA HDFS 74
5.1.7 NameNode自動故障轉移 75
5.2 Yarn高可用 78
第6章 HDFS編程 81
6.1 安裝開發工具 81
6.1.1 安裝Git 81
6.1.2 安裝Maven 83
6.1.3 安裝VSCode 84
6.1.4 安裝VSCode外掛程式 85
6.2 Native編程 87
6.2.1 創建HDFS客戶端項目 87
6.2.2 示例1:查看目錄狀態 91
6.2.3 添加依賴庫 92
6.2.4 運行程式 96
6.2.5 示例2:創建目錄和檔案 97
6.2.6 示例3:讀取檔案內容 99
6.2.7 示例4:上傳和下載檔案 100
6.3 WebHDFS與HttpFS 101
6.3.1 WebHDFS 101
6.3.2 VSCode外掛程式RestClient 103
6.3.3 HttpFS 104
第7章 MapReduce編程 106
7.1 準備測試環境與創建項目 106
7.2 添加MapReduce邏輯 107
7.2.1 添加Map類 108
7.2.2 添加Reduce類 109
7.3 創建Job 110
7.4 添加依賴庫 111
7.5 運行程式 112
7.6 查看運行日誌 114
7.7 在Hadoop中運行程式 116
7.8 Combiner 117
7.9 Mapper與Reducer數量 119
7.10 實現SQL語句 120
7.10.1 簡單查詢 120
7.10.2 排序 127
7.10.3 複雜排序 129
7.10.4 分區 132
7.10.5 組合 134
7.10.6 總結 135
7.11 實現SQL JOIN 136
7.11.1 INNER JOIN 136
7.11.2 MapReduce實現JOIN 137
7.11.3 Mapper JOIN 142
7.11.4 DistributedCache 146
7.12 Counter 148
7.13 其他組件 149
7.14 升級版的WordCount 150
7.15 分散式k-means 154
7.15.1 Mapper類 155
7.15.2 Reducer類 156
7.15.3 執行任務的方法 158
7.15.4 輔助類 159
7.15.5 運行 162
7.15.6 MapReduce深入剖析 162
第8章 Hive 166
8.1 Hive的設計架構 166
8.2 運行架構 167
8.3 安裝配置Hive3 168
8.3.1 安裝依賴軟體 168
8.3.2 創建Hive鏡像Dockerfile 170
8.3.3 創建docker-compose.yml 171
8.3.4 Hadoop配置調整 172
8.3.5 為Hive準備資料庫 172
8.4 運行Hive3 173
8.5 其他運行方式 175
8.5.1 MetaStore單獨運行 175
8.5.2 嵌入Meta資料庫 176
8.5.3 HiveServer2與beeline合體 176
8.6 Hive數據管理 176
8.6.1 基本操作 177
8.6.2 Hive表 178
8.6.3 數據傾斜 189
8.7 Hive查詢最佳化 190
8.8 索引 192
8.9 HCatalog 192
8.10 Hive編程 194
8.10.1 JDBC操作Hive 194
8.10.2 自定義函式 196
8.11 總結 208
第9章 HBase 209
9.1 什麼是HBase 209
9.2 HBase架構 210
9.3 安裝與配置 211
9.3.1 獨立模式運行 211
9.3.2 偽分布模式 215
9.3.3 全分布模式 216
9.4 基本數據操作 218
9.4.1 表管理 218
9.4.2 添加數據 220
9.4.3 修改數據 221
9.4.4 獲取數據 221
9.4.5 刪除數據 223
9.5 HBase設計原理 224
9.5.1 Region 224
9.5.2 定位數據 225
9.5.3 數據存儲模型 226
9.5.4 快速寫的秘密 227
9.5.5 快速讀的秘密 228
9.5.6 合併StoreFile 229
9.5.7 Region拆分與合併 229
9.5.8 故障恢復 230
9.5.9 總結 231
9.6 HBase套用編程 232
9.6.1 Java API訪問HBase 232
9.6.2 使用掃描過濾器 238
9.6.3 MapReduce訪問HBase表 239
9.7 總結 245
後記 246