Hadoop大數據技術原理與編程(微課版)
曹潔,齊平,陳明,王福成
- 出版商: 清華大學
- 出版日期: 2024-07-01
- 定價: $414
- 售價: 8.5 折 $352
- 語言: 簡體中文
- ISBN: 7302666792
- ISBN-13: 9787302666790
-
相關分類:
Hadoop、大數據 Big-data
下單後立即進貨 (約4週~6週)
買這商品的人也買了...
相關主題
商品描述
"本書系統介紹了大數據技術的相關知識,全書共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