大數據技術實踐教程————基於華為ECS、MRS平臺
辛宇、錢江波、陳葉芳、羅思惠
- 出版商: 清華大學
- 出版日期: 2026-06-01
- 定價: $419
- 售價: $418
- 語言: 簡體中文
- 頁數: 350
- ISBN: 7302718830
- ISBN-13: 9787302718833
-
相關分類:
大數據 Big-data
下單後立即進貨 (約4週~6週)
商品描述
"本書是一本大數據技術實踐指導教材,強調理論與實踐相結合,旨在幫助讀者掌握主流大數據技術的核心原理與應用方法。本書以華為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.1FlinkWordCount編程172
9.4.2DataSet API有界數據流處理176
9.4.3Table API有界數據流處理177
9.4.4SQL有界數據流處理179
9.5Flink無界數據流運算180
9.5.1FlinkStreamWordCount編程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.3ZooKeeperwatcher事件348
18.6本章小結350
18.7實驗任務350
18.7.1實驗一: ZooKeeper分布式鎖實驗350
18.7.2實驗二: ZooKeeper配置管理實驗350
18.7.3實驗三: 服務發現與註冊實驗350







