大数据开发实战教程目录
大數據開發實戰教程目錄
一、 課程性質、目的和任務
本課程目的是讓學生了解并掌握四個領域
(1)大數據系統的起源及系統特征
(2)大數據系統的架構設計及功能目標設計
(3)大數據系統程序開發、企業大數據案例分析的內容
利用真機實驗環節以及大數據實訓一體機來提升學生對大數據開發的實踐能力;
本課程重點讓學生掌握五個方面的內容:
(1)HDFS 使用操作;
(2)MapReduce 開發;
(3)HBase 數據庫的開發;
(4)Hive 數據倉庫開發;
(5)大數據案例分析;
二、 教學內容及要求
第一節 大數據概述
- 授課學時:1
- 基本要求:
第二節 大數據應用開發思路和開發環境配置
- 授課學時:1
- 基本要求:
第三節 HDFS 分布式文件系統
- 授課學時:4
- 基本要求:
第五節 HBase 分布式數據庫
- 授課學時:4
- 基本要求:
第六節 Hive 數據倉庫開發
- 授課學時:6
- 基本要求:
第七節 Spark 數據挖掘
- 授課學時:4
- 基本要求:
第八節 綜合案例分析
1、 某網站訪問日志分析
- 授課學時:2
- 基本要求:
2、某搜索引擎網站日志分析
- 授課學時:2
- 基本要求:
3、某大型電商數據分析
- 授課學時:2
- 基本要求:
實驗環節介紹
實驗環節 1:HDFS 操作命令操作
實驗目標及要求:
讓學生掌握分布式文件系統 HDFS 的文件操作,包含導入導出文件、列表、查找、刪除文件等。
實驗環節 2:MapReduce 開發(單詞計數)
實驗目標及要求:
讓學生掌握在 HDFS 文件系統內的 Map 及 Reduce 的 Java 開發,實現對指定文本文件的單詞計數,將統計結果輸出至控制臺。
實驗環節 3:HBase 數據庫命令操作
實驗目標及要求:
讓學生掌握分布式文件數據庫系統 HBase 的數據庫操作,包含創建表、刪除表、增加列、導入記錄、刪除記錄等。
實驗環節 4:Hive 數據倉庫基礎使用
實驗目標及要求:
讓學生掌握在 Hive 數據倉庫的基本命令的操作,包含創建數據倉庫、創建表、刪除表、導入及導出數據,統計查詢等在 CLI 模式下的使用操作。
實驗環節 5:分析網站訪問日志
實驗目標及要求:
實踐在企業應用中的互聯網網站訪問日志的分析案例,利用 Hive 工具完成對每小時內的訪問 PV 及 IP 數據,同時將統計結果輸出至網頁。
實驗環節 6:分析搜索引擎網站日志數據
實驗目標及要求:
分析關鍵字的統計日志的數據,利用 Hive 工具完成對關鍵詞的統計,包含搜索關鍵詞排行、用戶習慣點擊第幾個連接、訪問目標網站排行等,同時將統計結果輸出至網頁。
實驗環節 7:分析電商網站數據
實驗目標及要求:
對此大型電商數據進行實踐分析,利用 Hive 工具完成對商品銷售統計,同類商品推薦等分析指標,將分析結果導出至關系型數據庫 Mysql。
附錄 2:教材目錄
第一章 大數據概述 7
1.1. 大數據的起源 7
1.1.1. 豌豆雜交實驗 7
1.1.2. 曹沖稱象啟示 7
1.1.3. 谷歌的三項核心元素 9
1.2. 大數據的概念 9
1.2.1. 大數據概念 10
1.2.2. 大數據的特征 10
1.2.3. 數據計量單位 11
1.2.4. 大數據來源 11
1.2.5. 大數據類型 12
1.3. 大數據系統 12
1.3.1. 系統設計背景 12
1.3.2. 設計目標和原則 13
1.3.3. 系統的設計思想 14
1.3.4. 系統的邏輯架構 16
1.3.5. 與現有系統的關系 17
1.3.6. 當前的大數據系統 19
1.4. 企業的大數據觀 25
1.4.1. 企業面臨的挑戰 25
1.4.2. 企業大數據從哪來 25
1.4.3. 企業大數據如何存儲 27
1.4.4. 企業大數據如何加工 31
1.4.5. 企業的大數據到哪里去 35
1.4.6. 企業大數據觀總結 37
第二章 大數據系統應用開發思路及環境 38
2.1. 總體思路 38
2.1.1. 大數據讀寫應用的開發 38
2.1.2. 大數據分析應用的開發 38
2.2. 開發環境 39
2.2.1. Plugin 插件的安裝 39
2.2.2. Hadoop 開發環境的配置 39
2.2.3. 示例程序驗證 41
第三章 HDFS 分布式文件系統 48
3.1. 設計目標 48
3.2. 基本概念 49
3.2.1. 塊 49
3.2.2. 名稱節點與數據節點 49
3.3. 系統架構 50
3.3.1. 邏輯架構 50
3.3.2. 物理架構 51
3.4. 運行機制 51
3.4.1. 文件讀取 52
3.4.2. 文件寫入 53
3.4.3. 特別關注 54
3.5. 系統功能 57
3.5.1. 多文件系統 57
3.5.2. 目錄管理 58
3.5.3. 文件管理 59
3.5.4. 文件歸檔 59
3.5.5. 并行復制 60
3.6. 系統 I/O 特性 61
3.6.1. 完整性校驗 61
3.6.2. 壓縮與編碼解碼 62
3.6.3. 序列化 64
3.6.4. 特殊文件結構 65
3.7. 非 Java 訪問接口 66
3.8. 系統性能 67
3.8.1. 可靠性措施 67
3.8.2. 性能優化 68
3.9. 程序開發 69
3.9.1. 文件列表 69
3.9.2. 文件讀取 71
3.9.3. 文件上傳 72
3.9.4. 文件創建 74
3.9.5. 文件寫入 75
3.9.6. 文件壓縮與解壓 76
3.9.7. 壓縮寫入 77
3.9.8. 解壓讀取 78
3.9.9. 目錄創建 80
3.9.10. 文件重命名 81
3.9.11. 刪除文件 83
3.9.12. 查看文件時間 84
3.9.13. 查看文件是否存在 86
3.9.14. 查找文件位置 87
3.9.15. 查找集群所有的節點 89
3.9.16. SequenceFile 文件格式轉換 90
3.9.17. 讀取 SequenceFile 格式的文件 92
3.9.18. MapFile 文件格式轉換 95
3.9.19. 讀取 MapFile 格式的文件 97
第四章 MapReduce 分布式編程 99
4.1. 不同于傳統 99
4.2. 設計思想 100
4.3. 基本概念 100
4.3.1. map()函數 101
4.3.2. reduce()函數 101
4.3.3. 鍵值對 102
4.3.4. 中間結果 102
4.3.5. 移動代碼 103
4.3.6. 作業和任務節點 104
4.4. 系統架構 104
4.4.1. 邏輯架構 104
4.4.2. 物理架構 106
4.5. 運行機制 106
4.5.1. 作業運行 106
4.5.2. 作業調度 109
4.5.3. 任務執行 109
4.5.4. 狀態更新 110
4.5.5. 作業完成 111
4.5.6. 故障處理 111
4.6. 關鍵技術 112
4.6.1. 計數器 112
4.6.2. 排序 113
4.6.3. 連接 113
4.6.4. shuffle 114
4.6.5. 內存處理 115
4.6.6. 分布式緩存 116
4.7. 類型與格式 117
4.7.1. MR 的類型 117
4.7.2. 輸入格式 119
4.7.3. 輸出格式 121
4.8. MapReduce 程序開發 122
4.8.1. 定制數據類型 122
4.8.2. 定制輸入格式 126
4.8.3. 定制輸出格式 131
4.8.4. 將整個文件作為輸入 137
4.8.5. 小文件聚合成一個文件 143
4.8.6. 多集合文件輸出 145
4.8.7. 對壓縮數據處理 148
4.8.8. 定制 partitioner 151
4.8.9. 定制 combiner 155
4.8.10. MapReduce 組合 159
4.8.11. 多數據源連接 175
4.8.12. 全局參數應用 189
4.8.13. 全局文件應用 192
4.8.14. 關系數據庫訪問 195
第五章 HBase 分布式數據庫 204
5.1. 設計目標 204
5.2. 基本概念 205
5.2.1. 邏輯模型 205
5.2.2. 物理模型 206
5.2.3. 區域 207
5.2.4. 基本單元 207
5.2.5. Region 服務器 208
5.2.6. Master 主服務器 209
5.2.7. 元數據表.META 210
5.2.8. 元數據表–ROOT 211
5.3. 系統架構 212
5.3.1. 邏輯架構 212
5.3.2. 物理架構 213
5.4. 運行機制 214
5.5. 系統功能 215
5.5.1. 用戶界面 215
5.5.2. Shell 操作 218
5.6. 庫表設計 220
5.7. 訪問接口 221
5.8. 程序開發 222
5.8.1. 創建表 222
5.8.2. 刪除表 225
5.8.3. 查詢表 226
5.8.4. 插入記錄 228
5.8.5. 查詢記錄 229
5.8.6. 修改記錄 240
5.8.7. 刪除記錄 242
第六章 Hive 數據倉庫開發 244
6.1. Hive 介紹 244
6.1.1. Hive 工作原理 244
6.1.2. Hive 數據類型 245
6.1.3. Hive 的特點 246
6.2. Hive 架構 248
6.2.1 Hive 用戶接口 248
6.2.2 Hive 元數據庫 250
6.2.3 Hive 的數據存儲 251
6.2.4 Hive 解析器 252
6.3. Hive 文件格式 253
6.3.1 TextFile 格式 254
6.3.2 SequenceFile 格式 254
6.3.3 RCFile 文件格式 254
6.4. HiveQL 語言 257
6.5. HiveQL 表操作 257
6.5.1. 內部表 257
6.5.2. 外部表 264
6.5.3. 分區表 265
6.5.4. 桶表 269
6.5.5. 視圖 271
6.6. HiveQL 查詢 272
6.6.1. 連接 272
6.6.2. 子查詢 275
6.7. UDF 編碼 276
6.7.1. 加入 jar 包 277
6.7.2. 命名函數 277
6.7.3. 調用測試函數 277
6.7.4. 移除 jar 包 278
6.8. UDAF 編碼 278
6.8.1. 在 Hive 中加入 jar 包。 279
6.8.2. 命名成一個函數。 280
6.8.3. 調用測試函數 280
6.8.4. 在 Hive 中移除 jar 包 280
6.9. 客服端編碼 280
6.9.1. 與 hive 服務器端連接建立 281
6.9.2. 與 hive 進行指令交互 282
6.9.3. 客戶端命令組織 282
第七章 Spark 數據挖掘 284
7.1. 概述 284
7.1.1. 簡述數據挖掘歷程 284
7.1.2. 傳統商業版數據挖掘工具 284
7.1.3. 免費開源的數據挖掘技術 284
7.1.4. 常用的數據挖掘的算法與編程語言 285
7.1.5. 數據挖掘技術 Spark 286
7.1.6. Spark 與 mapreduce 的區別 289
7.2. Spark 數據分析處理 290
7.2.1. Spark Core 290
7.2.2. Spark SQL 294
7.2.3. Spark Streaming 298
7.3. Spark MLlib 機器學習 302
7.3.1. Spark MLlib 的簡述 302
7.3.2. Spark MLlib 架構解析 302
7.3.3. Spark MLlib 經典算法解析 303
第八章 綜合案例分析 304
8.1. 網站訪問日志分析 304
8.1.1. 項目來源 304
8.1.2. 數據情況 304
8.1.3. 項目架構 306
8.1.4. 項目目標 306
8.1.5. 數據表結構設計 306
8.1.6. 統計分析過程 307
8.1.7. 成果展示 308
8.2. 搜索引擎網站關鍵字日志分析 309
8.2.1. 項目來源 309
8.2.2. 數據情況 310
8.2.3. 項目架構 310
8.2.4. 項目目標 310
8.2.5. 數據表結構設計 311
8.2.6. 統計分析過程 311
8.2.7. 成果展示 319
總結
以上是生活随笔為你收集整理的大数据开发实战教程目录的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 认识UDS诊断29认证服务-Authen
- 下一篇: Excel VBA合并不同工作簿所有工作