Hadoop大數據處理技術基礎與實踐(微課版)(第3版)

安俊秀 靳宇倡 楊林旺 柳源 萬里浪 董相宏

  • 出版商: 人民郵電
  • 出版日期: 2024-08-01
  • 定價: $359
  • 售價: 8.5$305
  • 語言: 簡體中文
  • 頁數: 244
  • ISBN: 7115638861
  • ISBN-13: 9787115638861
  • 相關分類: Hadoop大數據 Big-data
  • 下單後立即進貨 (約4週~6週)

  • Hadoop大數據處理技術基礎與實踐(微課版)(第3版)-preview-1
  • Hadoop大數據處理技術基礎與實踐(微課版)(第3版)-preview-2
Hadoop大數據處理技術基礎與實踐(微課版)(第3版)-preview-1

商品描述

本書共11章,從Hadoop概述開始,介紹Hadoop的安裝、配置與管理,並對Hadoop的生態體系架構進行介紹,包括HDFS技術、YARN技術、MapReduce技術、Hadoop I/O操作、海量數據庫技術HBase、ZooKeeper技術、分佈式數據倉庫技術Hive,以及Hadoop與RDBMS數據遷移工具Sqoop,最後對大數據實時處理技術進行介紹,旨在讓讀者瞭解當前其他的大數據處理技術。本書還包括豐富的實踐操作,實現理論與實踐的有機結合。

本書除介紹Hadoop的理論外,還介紹如何使用各組件,但因為只介紹基礎的使用方法,沒有涉及底層的高級內容,所以本書只起引導作用。本書旨在讓讀者瞭解Hadoop並能夠使用Hadoop的基本功能,並不是學習Hadoop的完整手冊。

本書適合作為高等院校和職業院校大數據、物聯網、雲計算及其他電腦相關專業的教材,也可供雲計算與大數據技術相關專業的培訓班使用。

作者簡介

安俊秀,教授,成都信息工程大學教師。2004年7月從西安交通大學計算機科學與技術專業畢業,獲工學碩士學位。中國計算機學會高級會員;中國電子學會高級會員;成都市科技攻關計劃評審專家;成都軍區項目評審專家;汕尾市科技顧問團首席顧問。 在教學上,嚴格要求自己,勤奮鉆研、不斷提升教學水平,給更多學生以幫助和愛護。於1993年畢業進入山西大學商務學院任教,2006年底調入成都信息工程大學任教。最近三年,先後承擔了《Linux體系和編程》、《軟件項目管理》、《工程導論》、《計算機組成原理》等本科課程;承擔了《雲計算與大數據》、《並行計算》、《Hadoop處理技術》等研究生課程,學校考核均為優。 在科研工作方面,一直從事雲計算與大數據、信息智能搜索與計算社會方面的研究工作。近三年發表論文20余篇,其中第一作者10余篇,核心期刊以上占5篇。獨立完成專著1部,編著教材1部和參與編著教材1部,主編教材1部。獲得國家發明專利2項(2014授權),實用新型專利授權12項。獲得軟件著作權13項。科研項目10項。2015年獲四川省社科高水平研究團隊稱號。

目錄大綱

目錄

 

第 1章

Hadoop概述 1

1.1 Hadoop簡介 1

1.2 Hadoop體系架構 3

1.2.1 Hadoop基礎架構 3

1.2.2 Hadoop生態系統 3

1.3 Hadoop與分佈式開發 5

1.4 Hadoop行業應用案例分析 6

1.4.1 Hadoop在門戶網站中的應用 6

1.4.2 Hadoop在搜索引擎中的應用 7

1.4.3 Hadoop在電商平臺中的應用 7

習題 8

 

第 2章

Hadoop的安裝、配置與

管理 9

2.1 實驗準備 9

2.2 配置一個單節點環境 10

2.2.1 運行一個虛擬環境CentOS 10

2.2.2 配置網絡 11

2.2.3 創建新的用戶組和用戶 15

2.2.4 上傳文件到CentOS並配置

Java和Hadoop環境 16

2.2.5 修改Hadoop 3.2配置文件 19

2.2.6 修改CentOS主機名 22

2.2.7 綁定hostname與IP地址 22

2.2.8 關閉防火牆 23

2.3 節點之間的免密碼登錄 23

2.3.1 什麽是SSH 23

2.3.2 復制虛擬機節點 24

2.3.3 配置SSH免密碼登錄 25

2.4 Hadoop的啟動和測試 27

2.4.1 格式化文件系統 27

2.4.2 啟動HDFS 28

2.4.3 啟動YARN 29

2.4.4 啟動JobHistory Server 29

2.4.5 集群驗證 30

2.4.6 需要瞭解的默認配置 31

2.5 動態管理節點 32

2.5.1 動態增加和刪除DataNode 32

2.5.2 動態修改TaskTracker 33

習題 34

 

第3章

HDFS技術 36

3.1 HDFS的特點 36

3.2 HDFS架構 37

3.2.1 數據塊 38

3.2.2 NameNode與DataNode 39

3.2.3 輔助NameNode 40

3.2.4 安全模式與負載均衡 42

3.2.5 垃圾回收 43

3.3 HDFS Shell命令 44

3.3.1 文件處理命令 44

3.3.2 交互式命令 49

3.4 HDFS中Java API的使用 53

3.4.1 上傳文件 54

3.4.2 新建文件 55

3.4.3 查看文件詳細信息 56

3.4.4 下載文件 57

3.5 RPC通信 58

3.5.1 反射機制 59

3.5.2 代理模式與動態代理 62

3.5.3 Hadoop RPC機制與源碼

分析 64

習題 68

 

第4章

YARN技術 69

4.1 YARN概述 69

4.1.1 YARN產生背景——MRv1的

局限性 69

4.1.2 YARN的通信協議 70

4.2 YARN基本框架 71

4.3 YARN資源調度器 73

4.4 YARN的工作流程 74

4.5 YARN的實戰案例 76

習題 79

 

第5章

MapReduce技術 80

5.1 什麽是MapReduce 80

5.2 MapReduce編程模型 81

5.2.1 MapReduce模型簡介 81

5.2.2 MapReduce模型分類 82

5.2.3 MapReduce編程實例

——WordCount 83

5.3 MapReduce數據流 84

5.3.1 分片並格式化原始數據

(InputFormat) 84

5.3.2 Map過程 86

5.3.3 Shuffle過程 86

5.3.4 Reduce過程 91

5.3.5 按指定格式寫入文件

(OutputFormat) 92

5.4 MapReduce任務流程 92

5.5 MapReduce的Streaming和

Pipe 93

5.5.1 Hadoop Streaming 93

5.5.2 Hadoop Pipe 95

5.6 MapReduce性能調優 96

5.7 MapReduce實戰 98

5.7.1 快速入門 98

5.7.2 簡單使用Eclipse插件 110

習題 118

 

第6章

Hadoop I/O操作 119

6.1 HDFS數據完整性 119

6.1.1 校驗和 119

6.1.2 運行後台進程來檢測數據塊 120

6.2 基於文件的數據結構 121

6.2.1 SequenceFile的存儲 121

6.2.2 MapFile的存儲 125

6.2.3 SequenceFile轉換為

MapFile 128

6.3 壓縮 129

6.3.1 認識壓縮 129

6.3.2 Codec 130

6.3.3 本地庫 132

6.3.4 如何選擇壓縮格式 133

6.4 序列化 134

6.4.1 認識序列化 134

6.4.2 Writable接口 135

6.4.3 WritableComparable接口 136

6.4.4 Hadoop Writable基本類型 137

6.4.5 自定義Writable類型 142

習題 144

 

第7章

海量數據庫技術HBase 145

7.1 初識HBase 145

7.2 HBase表視圖 146

7.2.1 概念視圖 146

7.2.2 物理視圖 147

7.3 HBase物理存儲模型 148

7.4 安裝HBase 154

7.4.1 HBase單節點安裝 154

7.4.2 HBase偽分佈式安裝 157

7.4.3 HBase完全分佈式安裝 158

7.5 HBase Shell 160

7.5.1 HBase Shell的命令 160

7.5.2 general操作 162

7.5.3 DDL操作 163

7.5.4 DML操作 165

7.6 HBase操作實踐 167

習題 170

 

第8章

ZooKeeper技術 171

8.1 分佈式協調技術及其實現者 171

8.2 ZooKeeper基本架構 172

8.3 ZooKeeper數據模型 173

8.3.1 Znode 173

8.3.2 ZooKeeper中的時間 174

8.3.3 Znode屬性 175

8.3.4 watch觸發器 176

8.4 ZooKeeper集群安裝 177

8.5 ZooKeeper的主要Shell

操作 179

8.6 典型應用場景 180

8.6.1 數據發布與訂閱 180

8.6.2 統一命名服務 182

8.6.3 分佈式通知/協調 182

習題 183

 

第9章

分佈式數據倉庫技術Hive 184

9.1 Hive出現的原因 184

9.2 Hive服務的組成 185

9.3 Hive的安裝 186

9.3.1 Hive基本安裝 186

9.3.2 MySQL的安裝 187

9.3.3 Hive的配置 188

9.4 Hive Shell 191

9.5 HQL的概念和使用 192

9.5.1 認識HQL 192

9.5.2 Hive管理數據方式 192

9.5.3 Hive表的DDL操作 194

9.5.4 Hive表的DML操作 203

9.6 使用Hive實現聊天數據分析

案例 207

習題 210

 

第 10章

Hadoop與RDBMS數據遷移

工具Sqoop 211

10.1 Sqoop簡介及基本安裝 211

10.2 Sqoop的配置 212

10.3 Sqoop的相關功能 213

10.3.1 Sqoop的工具命令 213

10.3.2 Sqoop與MySQL 214

10.3.3 sqoop-import操作 215

10.3.4 sqoop-import-all-tables

操作 220

10.3.5 sqoop-export操作 222

10.3.6 sqoop-list-databases和

sqoop-list-tables操作 224

10.4 Hive、Pig和Sqoop三者之間

的關系 224

10.5 基於Sqoop的MySQL和Hive

之間的數據遷移實操案例 225

習題 228

 

第 11章

大數據實時處理技術 229

11.1 Flink 229

11.1.1 Flink架構 230

11.1.2 Flink部署 231

11.1.3 Flink的運行架構 235

11.1.4 Flink流處理API 238

11.2 Spark 239

11.2.1 Apache Spark架構 239

11.2.2 Apache Spark的擴展

功能 241

11.3 Flink與Spark異同 243

習題 244