Hadoop技術原理與案例教程(微課版)

韓玉民 郭麗

  • 出版商: 人民郵電
  • 出版日期: 2024-06-01
  • 定價: $479
  • 售價: 8.5$407
  • 語言: 簡體中文
  • 頁數: 333
  • ISBN: 7115639698
  • ISBN-13: 9787115639691
  • 相關分類: Hadoop
  • 下單後立即進貨 (約4週~6週)

  • Hadoop技術原理與案例教程(微課版)-preview-1
  • Hadoop技術原理與案例教程(微課版)-preview-2
Hadoop技術原理與案例教程(微課版)-preview-1

相關主題

商品描述

本書系統地介紹Hadoop技術原理與應用。本書分為4篇,第一篇為分佈式存儲與計算基礎,第二篇為數據倉庫Hive,第三篇為非關系型分佈式數據庫HBase,第四篇為綜合案例。本書共14章,包括大數據技術基礎、Hadoop簡介、Hadoop分佈式文件系統、 Hadoop分佈式計算系統、Hadoop資源管理器Yarn、Hadoop案例開發、Hive原理與應用、Hive數據定義、Hive數據分析基礎、Hive數據分析案例、HBase基礎知識、HBase原理與架構、HBase案例開發、綜合案例等。

本書原理與實踐並重,前3篇每章都有基本案例和課後習題,以及相應的綜合應用案例,第四篇是總結性的綜合案例,以便讀者能夠深入理解原理並培養相應的工程實踐能力。

本書可作為高等院校大數據、電腦、信息處理等相關專業的大數據課程教材,也可作為大數據等相關技術人員的培訓教材。

作者簡介

韩玉民,长期从事计算机教育与软件研发,担任中原工学院软件学院教学副院长十多年,创新教学理念,具有丰富的专业建设、课程与教材建设、教研教改经验。软件工程专业入选国家一流本科专业建设点。 主持、参与完成省级以上教研项目多项,获省级以上教学成果奖励四项,一项获2021年度河南省教学成果特等奖,并入选国家级2022年教学成果奖推荐名单。 主编、副主编专业教材12部,获得首届河南省教材建设二等奖一项

目錄大綱

第一篇 分佈式存儲與計算基礎

第1章 大數據基礎

1.1 數據、信息和知識 2

1.2 大數據 3

1.2.1 大數據的發展歷程 3

1.2.2 大數據的定義 5

1.3 數據分析流程 7

1.3.1 確定數據分析目標 7

1.3.2 數據採集 7

1.3.3 數據預處理 10

1.3.4 數據分析 11

1.4 大數據技術生態體系 13

1.5 大數據應用場景 17

1.5.1 基於大數據的電子商務 18

1.5.2 能源大數據體系建設 18

1.5.3 交通大數據體系建設 19

1.5.4 政務大數據體系建設 20

1.5.5 基於大數據的人口遷徙 21

1.5.6 農業大數據體系建設 21

1.6 本章小結 23

習題 23

第2章 Hadoop簡介

2.1 Hadoop概述 25

2.1.1 起源 26

2.1.2 Hadoop發行版本 26

2.1.3 Hadoop架構變遷 27

2.1.4 Hadoop特點 27

2.2 Hadoop“生態圈” 28

2.3 Hadoop核心架構 29

2.3.1 HDFS 29

2.3.2 MapReduce 29

2.3.3 Yarn 30

2.4 Hadoop運行模式 30

2.4.1 本地模式 30

2.4.2 偽分佈式模式 30

2.4.3 完全分佈式模式 31

2.5 Hadoop集群搭建 31

2.5.1 集群規劃 31

2.5.2 基本軟件的安裝 32

2.5.3 完全分佈式集群的搭建 33

2.6 常見問題及解決方案 46

2.7 本章小結 47

習題 47

第3章 Hadoop分佈式文件系統

3.1 HDFS概述 50

3.1.1 文件系統 50

3.1.2 傳統文件系統 50

3.1.3 HDFS的引入 51

3.1.4 HDFS的設計目標 51

3.1.5 HDFS的使用場景 52

3.1.6 HDFS的局限性 52

3.2 HDFS的技術架構 53

3.2.1 分塊存儲 53

3.2.2 副本機制 55

3.2.3 NameNode 55

3.2.4 DataNode 56

3.2.5 SecondaryNameNode 57

3.2.6 BackupNode 58

3.2.7 HDFS寫入數據流程 58

3.2.8 HDFS讀取數據流程 59

3.3 HDFS的Shell操作 60

3.3.1 基本命令 60

3.3.2 上傳命令 61

3.3.3 下載命令 61

3.3.4 高級操作 61

3.4 HDFS的API實戰開發 62

3.4.1 環境介紹 62

3.4.2 pom.xml配置說明 62

3.4.3 HDFS操作 63

3.5 HDFS核心解密 65

3.5.1 再談NameNode 65

3.5.2 節點的服役 67

3.5.3 節點的退役 68

3.5.4 DataNode多目錄的配置 69

3.6 常見問題及解決方案 69

3.7 本章小結 70

習題 70

第4章 Hadoop分佈式計算系統

4.1 MapReduce概述 74

4.2 WordCount入門 74

4.2.1 下載Hadoop配置文件 74

4.2.2 項目配置 75

4.2.3 打包在集群運行 77

4.3 MapReduce編程思想 78

4.3.1 MapReduce原理 79

4.3.2 MapReduce進程 80

4.3.3 MapReduce編程規範 80

4.4 Hadoop序列化 81

4.4.1 序列化與反序列化 81

4.4.2 Hadoop序列化要求 81

4.4.3 Hadoop序列化機制 82

4.5 MapReduce輸入 83

4.6 Shuffle過程 87

4.6.1 Shuffle原理 87

4.6.2 分區 88

4.6.3 排序 89

4.6.4 分組 91

4.7 Combiner過程 92

4.8 MapReduce輸出 93

4.9 常見問題及解決方案 94

4.10 本章小結 98

習題 98

第5章 Hadoop資源管理器Yarn

5.1 Yarn基本結構 100

5.1.1 ResourceManager 101

5.1.2 ApplicationMaster 101

5.1.3 NodeManager 102

5.1.4 Container 102

5.2 Yarn工作機制 102

5.3 Yarn資源調度器 103

5.3.1 FIFO Scheduler 104

5.3.2 Capacity Scheduler 104

5.3.3 Fair Scheduler 107

5.4 本章小結 107

習題 107

第6章 Hadoop案例開發

6.1 WordCount 109

6.2 最值 112

6.3 全排序 113

6.4 二次排序 115

6.5 MapReduce鏈 117

6.6 MapReduce數據合並 120

6.6.1 案例描述 120

6.6.2 Reduce JOIN實現 121

6.6.3 Map JOIN實現 124

6.7 本章小結 125

習題 125

第二篇 數據倉庫Hive

第7章 Hive原理與應用

7.1 Hive簡介 127

7.1.1 數據倉庫簡介 127

7.1.2 Hive起源 127

7.1.3 Hive的主要特點 128

7.1.4 Hive下載 128

7.1.5 Hive安裝包 129

7.2 Hive組件簡介 131

7.2.1 Hive元數據管理 131

7.2.2 Metastore 132

7.2.3 HiveServer2 132

7.3 Hive啟動方式 133

7.3.1 Hive Metastore部署模式 133

7.3.2 JDBC訪問Hive 139

7.4 Hive配置文件詳解 142

7.4.1 Hive的核心配置文件 142

7.4.2 Hive運行環境參數配置 145

7.4.3 Hive的本地運行模式 146

7.5 本章小結 147

習題 147

第8章 Hive數據定義

8.1 Hive的數據結構 149

8.1.1 創建數據庫與表 149

8.1.2 加載數據到表中 153

8.1.3 查詢數據庫與表 160

8.1.4 修改數據庫與表 162

8.1.5 刪除數據庫與表 163

8.1.6 導出數據 164

8.2 Hive的數據類型 165

8.2.1 Hive原生數據類型 165

8.2.2 Hive復雜數據類型 169

8.2.3 數據類型轉換 174

8.3 Hive的數據模型 175

8.3.1 外部表與內部表的定義與區別 176

8.3.2 分區的概念與作用 182

8.3.3 分桶的概念與作用 193

8.3.4 Hive數據表的序列化與反序列化 197

8.4 本章小結 199

習題 199

第9章 Hive數據分析基礎

9.1 基於IntelliJ IDEA實現Hive操作 204

9.1.1 基於IntelliJ IDEA配置Hive 204

9.1.2 Hive服務器連接 204

9.1.3 Console功能區 206

9.2 數據查詢 209

9.2.1 基本查詢 209

9.2.2 分組查詢 214

9.2.3 子查詢 218

9.2.4 Hive的JOIN操作 220

9.2.5 Hive的JOIN原理 228

9.3 常用系統函數 231

9.3.1 聚合函數 231

9.3.2 窗口函數 232

9.3.3 表值函數 236

9.3.4 時間日期函數 238

9.3.5 字符串函數 240

9.3.6 數學函數 242

9.3.7 集合函數 243

9.4 自定義函數 244

9.4.1 UDF 245

9.4.2 UDAF 248

9.4.3 UDTF 250

9.5 本章小結 251

習題 251

第10章 Hive數據分析案例

10.1 數據分析流程與數據分析目標的選定 255

10.1.1 數據分析流程 255

10.1.2 數據分析目標的選定 255

10.2 常用數據分析方法 256

10.2.1 描述性數據分析 256

10.2.2 探索性數據分析 258

10.2.3 預測性數據分析 260

10.3 二手車數據集 261

10.3.1 數據集簡介 261

10.3.2 數據分析目標 262

10.3.3 數據導入 262

10.4 二手車市場特徵和需求探索案例 263

10.4.1 二手車數據描述性分析 263

10.4.2 二手車數據處理與轉換 269

10.4.3 二手車數據探索性分析 270

10.4.4 二手車數據異常值與缺失值處理 271

10.5 二手車數據變量關系分析 272

10.5.1 相關系數簡介 272

10.5.2 二手車數據相關系數分析 272

10.5.3 特徵關系可視化分析 275

10.5.4 結果分析與結論 276

10.6 二手車數據聚類分析 277

10.7 本章小結 278

習題 278

第三篇 非關系數據庫HBase

第11章 HBase基礎知識

11.1 HBase概述 281

11.1.1 NoSQL的出現 281

11.1.2 HBase的出現 281

11.1.3 HBase的相關學習資源 281

11.2 HBase系統部署 281

11.2.1 版本選擇 281

11.2.2 系統準備 282

11.2.3 組件的上傳和解壓 283

11.2.4 配置環境變量 283

11.2.5 配置ZooKeeper 284

11.2.6 配置HBase 284

11.3 HBase基本Shell操作 286

11.3.1 啟動HBase Shell 286

11.3.2 創建和刪除表 286

11.3.3 寫入數據 287

11.3.4 查詢數據 288

11.3.5 刪除數據 289

11.3.6 表結構處理 289

11.4 HBase基本API操作 290

11.4.1 Maven工程基本結構 290

11.4.2 創建和刪除表 291

11.4.3 寫入數據 293

11.4.4 查詢數據 294

11.4.5 刪除數據 294

11.5 本章小結 295

習題 295

第12章 HBase原理與架構

12.1 HBase數據存儲結構 297

12.1.1 大數據時代的MySQL 297

12.1.2 解決問題的思路 299

12.1.3 兩類存儲思路的對比 300

12.1.4 HBase的數據格式 300

12.2 HBase架構 300

12.2.1 HBase整體架構 301

12.2.2 客戶端和HBase的通信過程 302

12.2.3 WAL與HLOG 302

12.2.4 HBase與HDFS 302

12.3 本章小結 303

習題 303

第13章 HBase案例開發

13.1 數據準備 304

13.2 基礎統計任務 306

13.2.1 基本查詢 306

13.2.2 過濾器 307

13.2.3 基本統計任務 310

13.3 高級統計任務 312

13.3.1 HBase on MapReduce 312

13.3.2 HBase with Hive 317

13.4 本章小結 318

習題 319

第四篇 綜合案例

第14章 綜合案例:維基百科數據挖掘

14.1 案例介紹 320

14.1.1 常見文本語料格式 320

14.1.2 語料介紹 321

14.2 案例步驟 322

14.2.1 數據的下載與上傳 322

14.2.2 創建Hive外接表 325

14.2.3 正文字段預處理 328

14.2.4 文章單詞統計 329

14.2.5 文章倒排表 330

14.2.6 正負面分析 332

14.3 本章小結 333

參考文獻 334