Hadoop大數據技術原理與編程(微課版)

曹潔,齊平,陳明,王福成

  • 出版商: 清華大學
  • 出版日期: 2024-07-01
  • 定價: $414
  • 售價: 8.5$352
  • 語言: 簡體中文
  • ISBN: 7302666792
  • ISBN-13: 9787302666790
  • 相關分類: Hadoop大數據 Big-data
  • 下單後立即進貨 (約4週~6週)

  • Hadoop大數據技術原理與編程(微課版)-preview-1
  • Hadoop大數據技術原理與編程(微課版)-preview-2
  • Hadoop大數據技術原理與編程(微課版)-preview-3
Hadoop大數據技術原理與編程(微課版)-preview-1

商品描述

"本書系統介紹了大數據技術的相關知識,全書共13章,內容包括Hadoop大數據處理架構、HDFS分佈式文件系統、YARN資源管理、MapReduce分佈式計算框架、HBase分佈式數據庫、流數據採集、典型非關系數據庫的安裝與使用、分佈式數據分析工具Pig、Spark大數據處理框架、基於Python語言的Spark RDD編程、基於Python語言的Spark SQL結構化數據處理、Hive分佈式數據倉庫、典型數據可視化工具的使用。本書對大數據相關技術給出詳細的編程示例,並給出詳細的註解。 本書可作為高等院校電腦、信息管理、軟件工程、人工智能、數據科學與大數據技術等相關專業的大數據技術課程教材,也可供相關技術人員參考。 "

目錄大綱

目錄

 

 

第1章Hadoop大數據處理架構1

1.1大數據的基本概念1

1.1.1大數據時代1

1.1.2大數據定義1

1.1.3大數據的特徵2

1.1.4大數據思維2

1.2大數據計算模式與典型系統3

1.2.1批處理計算模式與典型系統3

1.2.2流式計算模式與典型系統4

1.2.3迭代計算模式與典型系統4

1.2.4圖計算模式與典型系統4

1.2.5內存計算模式與典型系統5

1.3Hadoop發展歷程5

1.4Hadoop優缺點6

1.5Hadoop生態圈6

1.6在VirtualBox上搭建Linux操作系統8

1.6.1創建Master節點9

1.6.2克隆虛擬電腦17

1.7Hadoop安裝前的準備工作21

1.7.1創建hadoop用戶22

1.7.2安裝SSH、配置SSH無密碼登錄23

1.7.3安裝Java環境23

1.7.4Linux操作系統下Scala版本的Eclipse的安裝與配置… 24

1.7.5Eclipse環境下Java語言程序開發實例25

1.8Hadoop的安裝與配置28

1.8.1下載Hadoop安裝文件28

1.8.2Hadoop單機模式配置28

1.8.3Hadoop偽分佈式模式配置30

1.8.4Hadoop分佈式模式配置34

1.9習題43

第2章HDFS分佈式文件系統44

2.1HDFS基本特徵44

2.2HDFS存儲架構及組件功能45

2.2.1HDFS存儲架構45

2.2.2數據塊45

2.2.3數據節點46

2.2.4名稱節點46

2.2.5第二名稱節點47

2.2.6心跳消息47

2.2.7客戶端48

2.3HDFS讀寫文件流程48

2.3.1HDFS讀文件流程48

2.3.2HDFS寫文件流程49

2.4HDFS的Shell操作50

2.4.1查看命令使用方法50

2.4.2HDFS常用的Shell操作52

2.4.3HDFS管理員命令55

2.4.4HDFS的Java API操作57

2.5案例實戰1: 修改文件名58

2.5.1在Eclipse中創建項目58

2.5.2為項目添加需要用到的JAR包58

2.5.3編寫Java語言應用程序60

2.5.4編譯運行程序62

2.5.5應用程序的部署63

2.6案例實戰2: 文件讀取、上傳和下載65

2.6.1讀取文件內容66

2.6.2文件上傳和下載66

2.7習題67

第3章YARN資源管理68

3.1YARN概述68

3.2YARN基礎架構68

3.2.1Container68

3.2.2ResourceManager69

3.2.3NodeManager69

3.2.4Application Master70

3.2.5Client70

3.3YARN常用命令70

3.3.1YARN啟動與停止70

3.3.2用戶命令71

3.3.3管理命令73

3.4習題74

第4章MapReduce分佈式計算框架75

4.1MapReduce工作原理75

4.1.1MapReduce並行編程核心思想75

4.1.2Map函數和Reduce函數75

4.2MapReduce工作機制77

4.2.1Map任務工作機制78

4.2.2Reduce任務工作機制79

4.3MapReduce編程類80

4.3.1InputFormat數據輸入格式類81

4.3.2Mapper類85

4.3.3Combiner合並類86

4.3.4Partitioner分區類87

4.3.5Sort排序類87

4.3.6Reducer歸約類87

4.3.7OutputFormat輸出格式類88

4.4MapReduce編程實現詞頻統計89

4.4.1WordCount執行流程89

4.4.2WordCount具體實現91

4.4.3使用Eclipse編譯運行詞頻統計程序94

4.5習題100

第5章HBase分佈式數據庫101

5.1HBase概述101

5.1.1HBase的技術特點101

5.1.2HBase與傳統關系數據庫的區別101

5.1.3HBase與Hadoop中其他組件的關系102

5.2HBase系統架構和數據訪問流程102

5.2.1HBase系統架構102

5.2.2HBase數據訪問流程105

5.3HBase數據表107

5.3.1HBase數據表邏輯視圖107

5.3.2HBase數據表物理視圖109

5.3.3HBase數據錶面向列的存儲110

5.3.4HBase數據表的查詢方式111

5.3.5HBase表結構設計111

5.4HBase的安裝112

5.4.1下載安裝文件112

5.4.2配置環境變量112

5.4.3添加用戶權限113

5.4.4查看HBase版本信息113

5.5HBase的配置113

5.5.1單機模式配置114

5.5.2偽分佈式模式配置115

5.6HBase的Shell操作117

5.6.1基本操作117

5.6.2創建表118

5.6.3插入與更新表中的數據119

5.6.4查看表中的數據120

5.6.5刪除表中的數據122

5.6.6表的啟用/禁用122

5.6.7修改表結構122

5.6.8刪除HBase表123

5.7HBase的Java API操作123

5.7.1HBase數據庫管理API123

5.7.2HBase數據庫表API124

5.7.3HBase數據庫表行列API126

5.8HBase案例實戰127

5.8.1在Eclipse中創建工程127

5.8.2添加項目用到的JAR包128

5.8.3編寫Java語言應用程序129

5.8.4編譯運行程序132

5.9利用Python語言操作HBase133

5.9.1HappyBase的安裝133

5.9.2Connection類133

5.9.3Table類134

5.10拓展閱讀——HBase存儲策略的啟示134

5.11習題135

第6章流數據採集136

6.1流數據採集工具Flume136

6.1.1Flume概述136

6.1.2Flume組成架構136

6.1.3Flume安裝139

6.1.4Flume簡單使用141

6.2Kafka分佈式發布訂閱消息系統142

6.2.1Kafka基本架構142

6.2.2Kafka安裝143

6.2.3Kafka測試實例144

6.3習題145

第7章典型非關系數據庫的安裝與使用146

7.1NoSQL數據庫概述146

7.1.1NoSQL數據庫興起的原因146

7.1.2NoSQL數據庫的特點147

7.2“鍵值”數據庫147

7.2.1Redis安裝147

7.2.2Redis數據庫的特點149

7.2.3Redis數據庫的基本數據類型149

7.3列族數據庫154

7.4文檔數據庫154

7.4.1MongoDB簡介154

7.4.2MongoDB下載與安裝154

7.4.3MongoDB文檔操作158

7.4.4MongoDB集合操作161

7.4.5MongoDB數據庫操作162

7.4.6MongoDB數據類型163

7.5圖數據庫164

7.5.1下載和安裝Neo4j164

7.5.2Neo4j的啟動和停止165

7.5.3Neo4j的CQL操作167

7.5.4在Neo4j瀏覽器中創建節點和關系169

7.6習題170

第8章分佈式數據分析工具Pig171

8.1Pig概述171

8.2Pig安裝與配置171

8.2.1Pig安裝171

8.2.2配置環境變量172

8.2.3Pig運行模式和工作方式172

8.3Pig Latin語言173

8.3.1Pig Latin語言基本概念173

8.3.2Pig Latin語言數據類型174

8.3.3Pig操作HDFS文件系統常用的命令175

8.3.4實用程序命令176

8.3.5Pig常用的數據分析命令177

8.4習題180

第9章Spark大數據處理框架181

9.1Spark概述181

9.1.1Spark的產生背景181

9.1.2Spark的優點182

9.1.3Spark的應用場景182

9.1.4Spark的生態系統182

9.2Spark運行機制184

9.2.1Spark基本概念184

9.2.2Spark運行架構186

9.3Spark的安裝與配置186

9.3.1下載Spark安裝文件187

9.3.2單機模式配置187

9.3.3偽分佈式模式配置188

9.4使用PySpark編寫Python語言代碼190

9.5安裝pip工具和常用的數據分析庫191

9.6安裝Anaconda和配置Jupyter Notebook192

9.6.1安裝Anaconda192

9.6.2配置Jupyter Notebook193

9.6.3運行Jupyter Notebook194

9.6.4配置Jupyter Notebook實現和PySpark交互196

9.6.5為Anaconda安裝擴展庫197

9.7習題197

第10章基於Python語言的Spark RDD編程198

10.1RDD的創建方式198

10.1.1使用程序中的數據集創建RDD198

10.1.2使用文本文件創建RDD200

10.1.3使用JSON文件創建RDD201

10.1.4使用CSV文件創建RDD203

10.2RDD轉換操作203

10.2.1映射操作203

10.2.2去重操作205

10.2.3排序操作206

10.2.4分組聚合操作208

10.2.5集合操作210

10.2.6抽樣操作211

10.2.7連接操作方法211

10.2.8打包操作方法212

10.2.9獲取鍵值對RDD的鍵和值集合212

10.2.10重新分區操作212

10.3RDD行動操作214

10.3.1統計操作215

10.3.2取數據操作216

10.3.3聚合操作217

10.3.4迭代操作217

10.3.5存儲操作218

10.4RDD之間的依賴關系218

10.4.1窄依賴219

10.4.2寬依賴219

10.5RDD的持久化219

10.6案例實戰: 利用Spark RDD實現詞頻統計221

10.7實驗1: RDD編程實驗222

10.8拓展閱讀——中國女排精神223

10.9習題224

第11章基於Python語言的Spark SQL結構化數據處理225

11.1Spark SQL概述225

11.1.1Spark SQL簡介225

11.1.2DataFrame與DataSet225

11.2創建DataFrame對象的方法226

11.2.1使用Parquet文件創建DataFrame對象226

11.2.2使用JSON文件創建DataFrame對象227

11.2.3使用SparkSession方式創建DataFrame對象228

11.3將DataFrame對象保存為不同格式的文件232

11.3.1通過write.xxx()方法保存DataFrame對象232

11.3.2通過write.format()方法保存DataFrame對象233

11.3.3將DataFrame對象轉化成RDD保存到文件中233

11.4DataFrame的常用操作233

11.4.1行類操作233

11.4.2列類操作234

11.4.3DataFrame的常用屬性236

11.4.4輸出236

11.4.5篩選239

11.4.6排序241

11.4.7匯總與聚合243

11.4.8統計244

11.4.9合並245

11.4.10連接245

11.4.11to系列轉換247

11.5讀寫MySQL數據庫248

11.5.1安裝並配置MySQL數據庫248

11.5.2讀取MySQL數據庫中的數據250

11.5.3向MySQL數據庫寫入數據250

11.6實驗2: Spark SQL編程實驗251

11.7拓展閱讀——中國芯片之路253

11.8習題254

第12章Hive分佈式數據倉庫255

12.1Hive分佈式數據倉庫概述255

12.2Hive的安裝255

12.2.1下載Hive安裝文件255

12.2.2配置Hive環境變量256

12.2.3修改Hive配置文件256

12.2.4安裝並配置MySQL數據庫257

12.3MySQL數據庫常用操作259

12.3.1數據庫基本語句259

12.3.2數據表基本語句261

12.4Hive的數據類型264

12.5Hive基本操作265

12.5.1數據庫操作265

12.5.2創建表266

12.5.3創建帶有分區的表267

12.5.4查看和修改表268

12.6習題269

第13章典型數據可視化工具的使用270

13.1WordCloud繪制詞雲圖270

13.2PyeCharts數據可視化274

13.2.1繪制柱狀圖275

13.2.2繪制折線圖277

13.2.3繪制餅圖278

13.2.4繪制雷達圖279

13.2.5繪制漏鬥圖280

13.2.6繪制3D柱狀圖280

13.2.7繪制詞雲圖281

13.3Tableau繪圖282

13.3.1Tableau的主要特性282

13.3.2Tableau工作表工作區283

13.3.3Tableau儀表板工作區288

13.3.4Tableau故事工作區289

13.3.5Tableau菜單欄290

13.3.6Tableau可視化與數據分析舉例291

13.4習題293

參考文獻294