Hadoop大數據開發基礎(第3版)(微課版)

張軍,張良均

  • 出版商: 人民郵電
  • 出版日期: 2025-08-01
  • 售價: $359
  • 語言: 簡體中文
  • 頁數: 248
  • ISBN: 7115666172
  • ISBN-13: 9787115666178
  • 相關分類: Hadoop
  • 下單後立即進貨 (約4週~6週)

  • Hadoop大數據開發基礎(第3版)(微課版)-preview-1
  • Hadoop大數據開發基礎(第3版)(微課版)-preview-2
Hadoop大數據開發基礎(第3版)(微課版)-preview-1

商品描述

本書以“電影網站用戶影評分析”項目為導向,較為全面地介紹Hadoop大數據技術及其生態系統組件Hive、HBase的相關知識。本書共6個項目,具體內容包括分析電影網站用戶影評需求及環境搭建、存儲電影網站用戶影評分析數據、統計電影網站用戶影評數據、多維度分析電影網站用戶影評、基於Hive實現電影網站用戶影評分析和基於HBase實現存儲電影網站用戶影評分析結果。本書每個項目均包含實訓與習題,讀者可通過操作和練習,鞏固所學的內容。

本書可以作為高校大數據技術相關專業的教材,也可以作為“1+X”證書制度試點工作中的大數據應用開發(Python)職業技能等級證書(中級)考試的培訓用書和大數據技術愛好者的自學用書。

作者簡介

張軍,副教授,主要研究領域為大數據技術與應用技術、高職教育教學改革。現任廣東科學技術職業學院計算機學院副院長,廣東省品牌專業(大數據技術)負責人,大數據省級教學團隊負責人,軟件技術中國特色高水平專業群建設項目、首批國家級職業教育教學創新團隊核心骨幹成員,廣東省農村科技特派員,廣東科學技術職業學院專業領軍人才,兼任廣東省大數據產教融合協會副秘書長。

目錄大綱

項目1 分析電影網站用戶影評需求及環境搭建 1

【學習目標】 1

【項目背景】 1

【思維導圖】 2

【知識準備】 2

1.1 Hadoop簡介 2

1.1.1 什麼是Hadoop 2

1.1.2 了解Hadoop的特點 3

1.1.3 了解Hadoop核心組件 4

1.1.4 了解Hadoop生態系統 11

1.1.5 了解Hadoop應用場景 14

1.2 安裝及配置虛擬機 15

1.2.1 創建Linux虛擬機 16

1.2.2 設置固定IP地址 24

1.2.3 遠程連接虛擬機 26

1.2.4 配置本地YUM源及安裝常用軟件 29

1.3 搭建Hadoop完全分布式集群 33

1.3.1 在Linux下安裝Java 34

1.3.2 修改配置文件 35

1.3.3 克隆虛擬機 38

1.3.4 配置SSH免密碼登錄 41

1.3.5 配置時間同步服務 42

1.3.6 啟動和關閉Hadoop集群 44

1.3.7 監控Hadoop集群 45

【項目實踐】 47

任務1 了解數據字段 47

任務2 分析影評統計需求 49

【項目總結】 49

【實訓】 49

實訓1 修改master虛擬機的IP地址 49

實訓2 編寫Shell腳本同步集群時間 50

【習題】 50

項目2 存儲電影網站用戶影評分析數據 53

【學習目標】 53

【項目背景】 53

【思維導圖】 54

【知識準備】 54

2.1 認識Hadoop安全模式 54

2.1.1 了解Hadoop安全模式 54

2.1.2 查看、解除和開啟Hadoop安全模式 55

2.2 查看Hadoop集群的基本信息 57

2.2.1 查詢集群的存儲系統信息 57

2.2.2 查詢集群的計算資源信息 60

2.3 上傳文件到HDFS目錄 61

2.3.1 了解HDFS 61

2.3.2 HDFS的基本操作 64

2.4 運行MapReduce任務 68

2.4.1 了解Hadoop官方的示例程序包 68

2.4.2 提交MapReduce任務給集群運行 68

2.5 管理多個MapReduce任務 71

2.5.1 查詢MapReduce任務 71

2.5.2 中斷MapReduce任務 74

【項目實踐】 76

任務3 上傳用戶影評數據至HDFS 76

【項目總結】 77

【實訓】 78

實訓1 統計文件中所有單詞的長度的標準差 78

實訓2 查詢與中斷MapReduce任務 78

【習題】 79

項目3 統計電影網站用戶影評數據 81

【學習目標】 81

【項目背景】 81

【思維導圖】 82

【知識準備】 82

3.1 在IntelliJ IDEA中搭建MapReduce開發環境 82

3.1.1 在Windows下安裝Java 82

3.1.2 下載、安裝並啟動IntelliJ IDEA 85

3.1.3 創建MapReduce工程 88

3.1.4 配置MapReduce環境 90

3.2 通過源碼初識MapReduce編程 91

3.2.1 了解MapReduce實現詞頻統計的執行流程 92

3.2.2 讀懂官方提供的WordCount源碼 93

3.3 根據登錄次數對網站用戶登錄次數數據進行升序排序 98

3.3.1 分析思路與處理邏輯 98

3.3.2 編寫核心模塊代碼 100

3.3.3 打包程序並提交MapReduce任務給集群運行 101

【項目實踐】 101

任務4 創建並配置工程項目 101

任務5 統計所有電影的評分次數 103

任務6 統計不同性別的用戶對電影的評分 108

【項目總結】 113

【實訓】 113

實訓1 使用MapReduce編程統計某超市1月商品被購買的次數 113

實訓2 使用MapReduce編程統計各科目的平均成績 114

實訓3 使用MapReduce編程統計網站每日訪問次數 115

【習題】 116

項目4 多維度分析電影網站用戶影評 118

【學習目標】 118

【項目背景】 118

【思維導圖】 119

【知識準備】 119

4.1 設置MapReduce輸入輸出格式 119

4.1.1 設置MapReduce輸入格式 120

4.1.2 設置MapReduce輸出格式 121

4.1.3 篩選日誌文件並生成序列化文件 122

4.2 使用Hadoop Java API實現文件操作 124

4.2.1 使用FileSystem API管理文件夾 124

4.2.2 使用FileSystem API操作文件 127

4.2.3 使用FileSystem API讀/寫數據 129

4.2.4 使用Hadoop Java API讀取序列化文件 131

4.3 優化MapReduce統計程序 133

4.3.1 自定義鍵值類型 133

4.3.2 初步探索Combiner 136

4.3.3 淺析Partitioner 139

4.3.4 自定義計數器 141

4.4 在IntelliJ IDEA中打包並提交MapReduce程序 143

4.4.1 傳遞參數 144

4.4.2 使用Hadoop輔助類ToolRunner 145

4.4.3 自動打包並提交MapReduce程序 146

【項目實踐】 149

任務7 統計評分次數最多的10部電影並分析 149

任務8 統計不同性別的用戶評分最高的10部電影並分析 152

任務9 計算指定電影的各年齡段用戶的平均評分並分析 156

任務10 統計影評庫中各種類型電影中評分最高的5部電影並分析 159

【項目總結】 164

【實訓】 165

實訓1 使用MapReduce編程統計各科目成績最高的學生 165

實訓2 使用MapReduce編程篩選出指定出版年份的圖書 165

實訓3 使用MapReduce編程統計水稻品種的數量 166

【習題】 167

項目5 基於Hive實現電影網站用戶影評分析 170

【學習目標】 170

【項目背景】 170

【思維導圖】 171

【知識準備】 171

5.1 認識Hive數據倉庫 171

5.1.1 什麼是Hive 171

5.1.2 了解Hive與傳統數據庫的對比 172

5.1.3 了解Hive系統架構 173

5.1.4 了解Hive數據模型 174

5.1.5 了解Hive執行流程 175

5.2 Hive的安裝模式 175

5.2.1 設置內嵌模式 175

5.2.2 設置直連數據庫模式 177

5.2.3 設置遠程模式 181

5.3 實現Hive表的創建與修改 183

5.3.1 了解Hive數據定義語言的基本語法 183

5.3.2 創建表的基本操作 186

5.3.3 修改表的基本操作 189

5.4 實現Hive表中數據的增刪查改 190

5.4.1 了解Hive數據操作語言的基本語法 190

5.4.2 向數據表中裝載文件 192

5.4.3 查詢數據 193

5.4.4 插入數據 197

5.4.5 刪除數據 198

【項目實踐】 199

任務11 創建電影、用戶、評分數據表 199

任務12 分析電影、用戶、評分數據表 200

【項目總結】 202

【實訓】 202

實訓1 查詢圖書館圖書的被借閱次數及讀者借閱圖書的次數 202

實訓2 基於Hive實現表的連接及信息查詢處理 203

實訓3 查詢電商貨品訂單數據 204

【習題】 206

項目6 基於HBase實現存儲電影網站用戶影評分析結果 208

【學習目標】 208

【項目背景】 208

【思維導圖】 209

【知識準備】 209

6.1 認識HBase分布式數據庫 209

6.1.1 什麼是HBase 209

6.1.2 了解HBase系統架構 211

6.1.3 了解HBase數據模型 213

6.1.4 了解HBase讀/寫流程 215

6.2 安裝和部署HBase集群 217

6.2.1 了解並安裝ZooKeeper 217

6.2.2 安裝及配置HBase集群 221

6.3 掌握HBase常用的Shell命令 225

6.3.1 修改與刪除表 227

6.3.2 查詢表數據 228

6.4 使用HBase Java API實現表設計 231

6.4.1 創建Java項目 231

6.4.2 實現表的創建 233

6.4.3 向表中插入數據 234

【項目實踐】 235

任務13 存儲評分次數最多的10部電影的數據 235

任務14 存儲不同性別的用戶評分最高的10部電影及評分信息的數據 238

任務15 存儲電影ID為2858的電影各年齡段用戶的平均評分數據 240

任務16 存儲影評庫中各種類型電影中評分最高的5部電影的數據 242

【項目總結】 244

【實訓】 244

實訓1 使用HBase Shell命令創建學生信息表並插入數據 244

實訓2 使用HBase Java API對HBase數據庫的表進行操作 245

實訓3 使用HBase Java API查詢並分析通話記錄數據 246

【習題】 247