大數據技術實踐教程————基於華為ECS、MRS平臺

辛宇、錢江波、陳葉芳、羅思惠

  • 出版商: 清華大學
  • 出版日期: 2026-06-01
  • 定價: $419
  • 售價: $418
  • 語言: 簡體中文
  • ISBN: 7302718830
  • ISBN-13: 9787302718833
  • 相關分類: 大數據 Big-data
  • 下單後立即進貨 (約4週~6週)

  • 大數據技術實踐教程————基於華為ECS、MRS平臺-preview-1
  • 大數據技術實踐教程————基於華為ECS、MRS平臺-preview-2
  • 大數據技術實踐教程————基於華為ECS、MRS平臺-preview-3
  • 大數據技術實踐教程————基於華為ECS、MRS平臺-preview-4
  • 大數據技術實踐教程————基於華為ECS、MRS平臺-preview-5
  • 大數據技術實踐教程————基於華為ECS、MRS平臺-preview-6
  • 大數據技術實踐教程————基於華為ECS、MRS平臺-preview-7
大數據技術實踐教程————基於華為ECS、MRS平臺-preview-1

商品描述

"本書是一本大數據技術實踐指導教材,強調理論與實踐相結合,旨在幫助讀者掌握主流大數據技術的核心原理與應用方法。本書以華為ECS彈性雲服務器和MRS管理式Hadoop平臺為實踐環境,系統講解了Hadoop、Spark、流處理、NoSQL數據庫、ETL工具、消息隊列和分布式協調服務等主流大數據技術的應用與實踐。 本書不僅詳細講解大數據技術的核心原理,還提供了豐富的實驗案例,幫助讀者將理論知識應用於實踐,提升動手能力。涵蓋了Hadoop、Spark、流處理、NoSQL數據庫、ETL工具、消息隊列和分布式協調服務等主流大數據技術,內容全面,緊跟技術發展趨勢。此外,本書所有案例均在華為ECS和MRS平臺中實現,並詳細展示了MRS平臺的環境搭建細節,為讀者學習國產化軟件提供了技術啟蒙與指導。 本書可作為高等院校計算機科學與技術、軟件工程、數據科學與大數據技術等相關專業的實踐教材,以及供對大數據技術感興趣的讀者使用。 "

作者簡介

"辛宇,寧波大學信息科學與工程學院副教授,博士生導師,主要從事人工智能與大數據分析工作, 研究內容涉及圖像分割、圖像識別、大數據可視化分析等。錢江波,寧波大學信息科學與工程學院教授,博士生導師,中國計算機學會高級會員、分布式計算與系統專業委員會常務委員,浙江省計算機類專業教學指導委員會委員。陳葉芳,寧波大學信息科學與工程學院副教授,主要從事計算機視覺與人工智能研究工作,研究內容涉及知識蒸餾、場景理解、多媒體數據分析等。羅思惠,寧波大學信息科學與工程學院教師,主要從事計算機視覺與人工智能研究工作,研究內容涉及知識蒸餾、場景理解、多媒體數據分析等。"

目錄大綱

目錄

第一篇Hadoop篇

第1章Hadoop3

1.1任務目的和要求3

1.2Java環境的搭建3

1.2.1Ubuntu Java環境的安裝3

1.2.2壓縮包安裝Java4

1.3Hadoop偽分布式安裝5

1.3.1華為ECS的配置5

1.3.2Hadoop ECS的安裝9

1.4華為雲MRS的配置12

1.4.1購買及配置MRS服務12

1.4.2配置MRS集群客戶端13

1.5Hadoop案例15

1.5.1ECS配置Yarn15

1.5.2Hadoop Shell 命令17

1.5.3目錄操作17

1.5.4文件操作18

1.6Hadoop編程實踐19

1.6.1hdfs讀寫編程19

1.6.2MapReduce編程23

1.7本章小結26

1.8實驗任務27

1.8.1實驗一: 多ECS節點Hadoop分布式集群搭建實驗27

1.8.2實驗二: 訪問MRS集群上托管的開源組件Web頁面27

1.8.3實驗三: 華為MRS訪問與管理27

第2章HDFS28

2.1任務目的和要求28

2.2HDFS配置28

2.3HDFS操作實踐29

2.3.1HDFS的基本命令29

2.3.2權限和訪問控制31

2.4HDFS MRS實踐33

2.5HDFS編程實踐37

2.5.1HDFS讀文件37

2.5.2HDFS寫文件40

2.6本章小結44

2.7實驗任務44

2.7.1實驗一: HDFS的基本操作實驗44

2.7.2實驗二: HDFS 數據合並與權限管理44

2.7.3實驗三: HDFS 數據備份與恢復實驗44

第3章Yarn45

3.1任務目的和要求45

3.2Yarn的配置與啟動45

3.3Yarn操作實踐48

3.3.1Yarn MRS的配置48

3.3.2Yarn命令行的操作51

3.4Yarn編程實踐53

3.4.1應用程序監控54

3.4.2應用程序管理57

3.4.3資源信息獲取61

3.5本章小結64

3.6實驗任務64

3.6.1實驗一: Yarn的基本操作64

3.6.2實驗二: Yarn 調度與作業優先級實驗64

3.6.3實驗三: Hadoop資源管理實驗64

第4章MapReduce65

4.1任務目的和要求65

4.2MapReduce開發環境的搭建65

4.2.1Maven的安裝65

4.2.2Maven創建HelloWorld67

4.3MapReduce編程實踐71

4.3.1Mapper函數編程71

4.3.2Reducer函數編程72

4.3.3Combiner函數編程75

4.3.4Writable接口編程76

4.3.5WritableComparable接口編程77

4.3.6InputFormat和OutputFormat接口編程79

4.3.7Partitioner接口編程81

4.4本章小結82

4.5實驗任務82

4.5.1實驗一: 詞頻統計實驗82

4.5.2實驗二: 日誌分析實驗82

4.5.3實驗三: 客戶數據分析實驗82

第5章Hive83

5.1任務目的和要求83

5.2Hive的安裝83

5.2.1Hive的配置83

5.2.2MySQL的安裝85

5.2.3MRS平臺使用Hive86

5.3Hive操作案例89

5.3.1數據庫管理89

5.3.2查詢語言92

5.3.3內部表和外部表94

5.3.4分區表97

5.3.5分桶表98

5.4Hive編程實踐98

5.4.1數據庫的創建98

5.4.2數據庫的刪除99

5.4.3SELECT編程100

5.4.4ORDER BY編程101

5.4.5GROUP BY編程102

5.5本章小結103

5.6實驗任務104

5.6.1實驗一: 銷售數據分析104

5.6.2實驗二: 用戶行為分析104

5.6.3實驗三: 日誌數據處理104

第二篇Spark篇

第6章Spark RDD107

6.1任務目的和要求107

6.2Spark的安裝107

6.3MRS平臺Spark的應用108

6.4Spark操作案例110

6.4.1RDD的常用操作111

6.4.2RDD持久化116

6.4.3RDD分區策略117

6.5Spark RDD編程實踐119

6.6Spark RDD的MRS平臺實踐121

6.7本章小結126

6.8實驗任務126

6.8.1實驗一: 統計文本文件中的字數126

6.8.2實驗二: 過濾日誌文件中的錯誤信息126

6.8.3實驗三: 計算數值數據的平均值126

第7章Spark SQL127

7.1任務目的和要求127

7.2MRS平臺Spark SQL應用127

7.2.1創建DWS集群128

7.2.2DWS操作129

7.2.3MRS連接DWS131

7.3Spark SQL操作案例134

7.3.1基本操作136

7.3.2聚合操作139

7.4Spark SQL編程實踐140

7.4.1Dataframe的Table API編程140

7.4.2Dataframe的SQL接口編程142

7.5本章小結145

7.6實驗任務145

7.6.1實驗一: 客戶行為數據預處理實驗145

7.6.2實驗二: 金融數據預處理實驗145

7.6.3實驗三: 社交網絡數據預處理實驗145

第三篇流 處 理 篇

第8章Spark Streaming149

8.1任務目的和要求149

8.2Spark Streaming操作案例149

8.2.1DStream Transform操作149

8.2.2DStream Action操作150

8.2.3有狀態計算152

8.3MRS平臺Spark Streaming154

8.4本章小結166

8.5實驗任務166

8.5.1實驗一: 實時數據處理166

8.5.2實驗二: 實時數據分析166

8.5.3實驗三: 實時ETL處理166第9章Flink167

9.1任務目的和要求167

9.2Flink的安裝167

9.3在MRS中使用Flink170

9.4Flink有界數據流運算172

9.4.1FlinkWordCount編程172

9.4.2DataSet API有界數據流處理176

9.4.3Table API有界數據流處理177

9.4.4SQL有界數據流處理179

9.5Flink無界數據流運算180

9.5.1FlinkStreamWordCount編程180

9.5.2DataStream API無界數據流處理183

9.5.3SQL無界數據流處理185

9.5.4Table API無界數據流處理186

9.6Flink鍵控窗口函數編程187

9.6.1WindowAll全局窗口187

9.6.2keyBy分區189

9.6.3Window時間分窗191

9.7Flink底層函數運算192

9.7.1ProcessFunction計數器192

9.7.2RichFunction累加器193

9.8多流處理195

9.9本章小結196

9.10實驗任務197

9.10.1實驗一: 實時數據處理與聚合197

9.10.2實驗二: 實時事件檢測與報警197

9.10.3實驗三: 實時數據關聯與數據處理197

第四篇NoSQL數據庫篇

第10章HBase201

10.1任務目的和要求201

10.2HBase的安裝201

10.2.1HBase偽分布式模式配置202

10.2.2MRS平臺使用HBase204

10.2.3HBase數據遷移到MRS205

10.3HBase Shell操作案例209

10.3.1HBase建表209

10.3.2HBase的基本操作210

10.4HBase編程實踐211

10.4.1HBase基本CRUD操作211

10.4.2HBase Java API實踐217

10.5本章小結222

10.6實驗任務222

10.6.1實驗一: HBase創建數據庫與查看表結構實驗222

10.6.2實驗二: 設計HBase表並提供基本CRUD實驗222

10.6.3實驗三: 設計HBase表Rowkey時間匯總實驗223

第11章Redis224

11.1任務目的和要求224

11.2Redis的安裝224

11.2.1Redis安裝包的下載224

11.2.2Redis客戶端連接測試225

11.3Redis案例226

11.3.1鍵值操作226

11.3.2字符串操作227

11.3.3哈希表操作228

11.3.4列表操作229

11.3.5集合操作229

11.3.6發布/訂閱操作231

11.4Redis編程實踐232

11.4.1Python客戶端連接232

11.4.2Java客戶端連接232

11.4.3使用set和get命令緩存數據234

11.4.4通過expire為緩存設置過期時間234

11.4.5通過lpush和rpop實現生產者和消費者模式235

11.5本章小結236

11.6實驗任務237

11.6.1實驗一: 使用Redis實現簡單的用戶會話管理237

11.6.2實驗二: 使用Redis實現簡單的消息隊列237

11.6.3實驗三: 使用Redis有序集合實現排行榜237

第12章MongoDB238

12.1任務目的和要求238

12.2MongoDB的安裝238

12.3MongoDB Shell操作案例240

12.3.1MongoDB連接240

12.3.2常用操作命令240

12.3.3數據庫與集合管理241

12.3.4文檔管理243

12.4MongoDB編程實踐249

12.5本章小結254

12.6實驗任務255

12.6.1實驗一: 在線商店的訂單管理255

12.6.2實驗二: 社交媒體應用255

12.6.3實驗三: 物聯網數據存儲與分析255

第13章InfluxDB256

13.1任務目的和要求256

13.2InfluxDB的安裝256

13.2.1InfluxDB本地安裝257

13.2.2InfluxDB的配置257

13.3InfluxDB Shell操作案例258

13.3.1連續查詢258

13.3.2實時數據操作260

13.3.3CQ管理263

13.4InfluxDB編程實踐264

13.5本章小結267

13.6實驗任務267

13.6.1實驗一: 環境監測數據存儲與查詢267

13.6.2實驗二: 系統性能監控與報警實驗267

13.6.3實驗三: 時序數據分析與可視化實驗267

第14章Neo4j268

14.1任務目的和要求268

14.2Neo4j的安裝268

14.3Neo4j操作案例269

14.3.1數據導入269

14.3.2Cypher數據操作270

14.3.3Cypher數據查詢275

14.4Neo4j編程實踐279

14.5本章小結282

14.6實驗任務282

14.6.1實驗一: 社交網絡分析實驗282

14.6.2實驗二: 知識圖譜構建實驗282

14.6.3實驗三: 推薦系統實驗282

第五篇ETL工具篇

第15章Flume285

15.1任務目的和要求285

15.2Flume的安裝部署285

15.3Flume操作案例286

15.3.1監控端口數據286

15.3.2實時監控單個追加文件287

15.4MRS平臺Flume應用289

15.4.1訪問Flume界面289

15.4.2Flume采集節點日誌290

15.5Flume編程實踐292

15.5.1自定義Source292

15.5.2自定義Sink294

15.6本章小結296

15.7實驗任務296

15.7.1實驗一: 使用 Flume 從日誌文件收集數據296

15.7.2實驗二: 使用 Flume 將數據從 Kafka 傳輸到 HDFS297

15.7.3實驗三: 使用Flume實現實時數據收集和處理297

第六篇消息隊列篇

第16章RabbitMQ301

16.1任務目的和要求301

16.2RabbitMQ的安裝301

16.3RabbitMQ操作案例304

16.3.1創建和綁定交換機304

16.3.2發送和接收消息304

16.4RabbitMQ編程實踐307

16.4.1基本消息模式308

16.4.2扇出模式309

16.4.3工作隊列模式311

16.4.4發布/訂閱模式312

16.4.5主題模式314

16.5本章小結316

16.6實驗任務316

16.6.1實驗一: 實時數據處理實驗316

16.6.2實驗二: 微服務通信實驗316

16.6.3實驗三: 任務調度與工作隊列實驗316

第17章Kafka317

17.1任務目的和要求317

17.2Kafka的安裝317

17.3MRS平臺Kafka應用318

17.3.1訪問Kafka UI318

17.3.2查看Broker319

17.3.3查看Consumer Group319

17.3.4Kafka客戶端320

17.3.5MRS Topic管理321

17.4Kafka操作案例322

17.4.1Topic管理322

17.4.2單節點多代理配置323

17.4.3啟動多個代理324

17.4.4生產者/消費者324

17.5Kafka編程實踐325

17.5.1Kafka生產者示例325

17.5.2Kafka消費者組示例327

17.5.3Kafka Python編程329

17.6本章小結331

17.7實驗任務331

17.7.1實驗一: 實時日誌收集與分析331

17.7.2實驗二: 用戶行為追蹤與分析331

17.7.3實驗三: 分布式事件驅動架構332

第七篇分布式協調服務篇

第18章ZooKeeper335

18.1任務目的和要求335

18.2ZooKeeper的安裝335

18.3MRS平臺ZooKeeper應用336

18.3.1訪問ZooKeeper界面336

18.3.2使用ZooKeeper客戶端337

18.3.3配置ZNode ACL339

18.4ZooKeeper操作案例340

18.4.1ZooKeeper常用命令340

18.4.2ZooKeeper四字命令344

18.5ZooKeeper編程實踐345

18.5.1ZooKeeper Java API編程345

18.5.2ZooKeeper Curator連接347

18.5.3ZooKeeperwatcher事件348

18.6本章小結350

18.7實驗任務350

18.7.1實驗一: ZooKeeper分布式鎖實驗350

18.7.2實驗二: ZooKeeper配置管理實驗350

18.7.3實驗三: 服務發現與註冊實驗350