劍指大數據——Hive學習精要
尚硅谷教育
- 出版商: 電子工業
- 出版日期: 2024-05-01
- 定價: $654
- 售價: 8.5 折 $556
- 語言: 簡體中文
- 頁數: 368
- ISBN: 7121477270
- ISBN-13: 9787121477270
-
相關分類:
大數據 Big-data
下單後立即進貨 (約4週~6週)
相關主題
商品描述
Hive是大數據領域的一個重要開發工具。本書基於Hive3.1.3版本進行編寫,首先,簡單介紹了Hive的起源和發展,以及Hive的安裝和部署;其次,分別介紹了Hive的數據定義語言、數據操作語言、查詢語言,以及各種函數,其中穿插安排了大量的綜合案例練習;再次,講解了分區表和分桶表,以及文件的壓縮;最後,重點講解了Hive在使用不同執行引擎時的企業級性能調優手段。本書廣泛適用於大數據的學習者和從業人員、Hive初學者,以及高等院校大數據相關專業的學生,同時可作為大數據學習的必備書籍。
目錄大綱
第1章 Hive入門 1
1.1 什麽是Hadoop 1
1.2 什麽是Hive 4
1.3 Hive的架構 4
1.4 學前導讀 7
1.4.1 學習的基本要求 7
1.4.2 環境準備 7
1.5 本章總結 8
第2章 Hive的安裝部署 9
2.1 Hive的安裝 9
2.1.1 Hive初體驗 9
2.1.2 MySQL的安裝和元數據配置 12
2.1.3 Hive的服務部署 16
2.2 Hive的使用技巧 24
2.2.1 常用交互命令 24
2.2.2 參數配置方式 25
2.2.3 常見屬性配置 25
2.3 本章總結 27
第3章 數據定義語言 28
3.1 數據庫的定義 28
3.2 表的定義 30
3.2.1 創建表 30
3.2.2 表的其他定義語言 34
3.3 本章總結 35
第4章 數據操作語言 36
4.1 數據加載 36
4.2 數據插入 37
4.2.1 將查詢結果插入表中 37
4.2.2 將給定values插入表中 37
4.2.3 將查詢結果寫入目標路徑 38
4.3 數據的導出和導入 38
4.4 本章總結 38
第5章 查詢 39
5.1 數據準備 39
5.2 基本查詢 40
5.2.1 select子句——全表和特定列查詢 40
5.2.2 列別名 42
5.2.3 limit子句 42
5.2.4 order by子句 43
5.2.5 where子句 46
5.2.6 關系運算符 47
5.2.7 邏輯運算符 49
5.2.8 算術運算符 51
5.3 分組聚合 52
5.3.1 聚合函數 52
5.3.2 group by子句 56
5.3.3 having子句 59
5.4 join連接 62
5.4.1 join連接語法的簡介與表別名 62
5.4.2 數據準備 65
5.4.3 連接分類 66
5.4.4 多表連接 71
5.4.5 笛卡兒積連接 73
5.4.6 join連接與MapReduce程序 74
5.4.7 聯合(union&union all) 75
5.5 本章總結 77
第6章 綜合案例練習之基礎查詢 78
6.1 環境準備 78
6.2 簡單查詢練習 80
6.3 匯總與分組練習 84
6.3.1 匯總練習 84
6.3.2 分組練習 85
6.3.3 對分組結果的條件查詢 87
6.3.4 查詢結果排序和分組指定條件 90
6.4 復雜查詢練習 94
6.5 多表查詢練習 97
6.5.1 表連接 97
6.5.2 多表連接 102
6.6 本章總結 117
第7章 初級函數 118
7.1 函數簡介 118
7.2 單行函數 119
7.2.1 數值函數 119
7.2.2 字符串函數 121
7.2.3 日期函數 126
7.2.4 流程控制函數 129
7.2.5 集合函數 131
7.2.6 案例演示 133
7.3 高級聚合函數 140
7.4 本章總結 142
第8章 綜合案例練習之初級函數 143
8.1 環境準備 143
8.1.1 用戶信息表 143
8.1.2 商品信息表 144
8.1.3 商品品類信息表 145
8.1.4 訂單信息表 145
8.1.5 訂單明細表 147
8.1.6 用戶登錄明細表 150
8.1.7 商品價格變更明細表 151
8.1.8 配送信息表 152
8.1.9 好友關系表 153
8.1.10 收藏信息表 155
8.2 初級函數練習 156
8.2.1 篩選2021年總銷量低於100件的商品 156
8.2.2 查詢每日新增用戶數 158
8.2.3 用戶註冊、登錄、下單綜合統計 160
8.2.4 向用戶推薦好友收藏的商品 163
8.2.5 男性和女性用戶每日訂單總金額統計 166
8.2.6 購買過商品1和商品2但沒有購買過商品3的用戶統計 168
8.2.7 每日商品1和商品2的銷量差值統計 169
8.2.8 根據商品銷售情況進行商品分類 170
8.2.9 查詢有新增用戶的日期的新增用戶數和新增用戶1日留存率 172
8.2.10 登錄次數及交易次數統計 174
8.2.11 統計每個商品各年度銷售總金額 177
8.2.12 某周內每個商品的每日銷售情況 178
8.2.13 形成同期商品售賣分析表 180
8.2.14 國慶節期間每個商品的總收藏量和總購買量統計 181
8.2.15 國慶節期間各品類商品的7日動銷率和滯銷率 183
8.3 本章總結 186
第9章 高級函數 187
9.1 表生成函數 187
9.1.1 常用UDTF 187
9.1.2 案例演示 190
9.2 窗口函數 192
9.2.1 語法講解 192
9.2.2 常用窗口函數 197
9.2.3 案例演示 200
9.3 用戶自定義函數 208
9.3.1 概述 208
9.3.2 自定義UDF函數案例 209
9.4 本章總結 211
第10章 綜合案例練習之高級函數 212
10.1 高級函數練習題 212
10.1.1 查詢各品類銷售商品的種類數及銷量最高的商品 212
10.1.2 查詢首次下單後第二日連續下單的用戶比率 215
10.1.3 每件商品銷售首年的年份、銷售數量和銷售總金額 218
10.1.4 查詢所有用戶連續登錄2日及以上的日期區間 220
10.1.5 訂單金額趨勢分析 223
10.1.6 查詢每名用戶登錄日期的最大空檔期 225
10.1.7 查詢同一時間多地登錄的用戶 227
10.1.8 銷售總金額完成任務指標的商品 230
10.1.9 各品類中商品價格的中位數 232
10.1.10 求商品連續售賣的時間區間 234
10.1.11 根據活躍間隔對用戶進行分級的結果統計 237
10.2 面試真題 239
10.2.1 同時在線人數問題 239
10.2.2 會話劃分問題 242
10.2.3 間斷連續登錄用戶問題 247
10.2.4 日期交叉問題 251
10.3 本章總結 255
第11章 分區表和分桶表 256
11.1 分區表 256
11.1.1 分區表基本語法 256
11.1.2 二級分區表 258
11.1.3 動態分區 259
11.2 分桶表 260
11.2.1 分桶表基本語法 260
11.2.2 分桶排序表 261
11.3 本章總結 262
第12章 文件格式和壓縮 263
12.1 文件格式 263
12.1.1 Text Flile 263
12.1.2 ORC 263
12.1.3 Parquet 265
12.2 壓縮 266
12.2.1 壓縮算法概述 266
12.2.2 Hive表數據進行壓縮 267
12.2.3 計算過程中使用壓縮 267
12.3 本章總結 268
第13章 MapReduce引擎下的企業級性能調優 269
13.1 測試數據準備 269
13.1.1 訂單表(2000萬條數據) 269
13.1.2 支付表(600萬條數據) 270
13.1.3 商品信息表(100萬條數據) 271
13.1.4 省(區、市)信息表(34條數據) 271
13.2 計算資源配置調優 272
13.2.1 YARN資源配置調優 272
13.2.2 MapReduce資源配置調優 273
13.3 使用Explain命令查看執行計劃 274
13.3.1 基本語法 274
13.3.2 案例實操 274
13.3.3 執行計劃分析 278
13.4 分組聚合 281
13.4.1 優化說明 281
13.4.2 優化案例 282
13.5 Join優化 284
13.5.1 Join算法概述 284
13.5.2 Map Join 287
13.5.3 Bucket Map Join 294
13.5.4 Sort Merge Bucket Map Join 297
13.6 數據傾斜 300
13.6.1 數據傾斜概述 300
13.6.2 分組聚合導致的數據傾斜 300
13.6.3 join連接導致的數據傾斜 303
13.7 任務並行度 308
13.7.1 優化說明 308
13.7.2 優化案例 309
13.8 小文件合並 310
13.8.1 優化說明 310
13.8.2 優化案例 311
13.9 其他性能優化手段 312
13.9.1 CBO優化 312
13.9.2 謂詞下推 313
13.9.3 矢量化查詢 314
13.9.4 Fetch抓取 315
13.9.5 本地模式 315
13.9.6 並行執行 315
13.9.7 嚴格模式 316
13.10 本章總結 316
第14章 Hive On Tez的企業級性能調優 317
14.1 初識Hive On Tez 317
14.1.1 Tez 概述 317
14.1.2 Hive On Tez部署 318
14.2 計算資源配置 322
14.3 執行計劃與統計信息 323
14.3.1 執行計劃 323
14.3.2 統計信息 326
14.4 任務並行度 327
14.4.1 優化說明 327
14.4.2 Reducer並行度優化案例 329
14.5 分組聚合 330
14.6 Join 330
14.6.1 Join算法 330
14.6.2 Hive On Tez中Join算法的實現 334
14.6.3 Hive On Tez中Join算法的選擇策略 337
14.6.4 優化案例 338
14.7 小文件合並 341
14.7.1 優化說明 341
14.7.2 優化案例 342
14.8 數據傾斜 343
14.9 本章總結 344
第15章 Hive On Spark的企業級性能調優 345
15.1 Hive On Spark概述 345
15.1.1 什麽是Spark 345
15.1.2 Spark的基本架構 346
15.1.3 Hive On Spark的安裝部署 347
15.2 Spark資源配置 349
15.2.1 Excutor配置說明 349
15.2.2 Driver配置說明 351
15.2.3 Spark配置實操 351
15.3 使用Explain命令查看執行計劃 352
15.4 分組聚合優化 355
15.5 Join優化 356
15.6 數據傾斜優化 356
15.7 計算引擎總結 356
15.8 本章總結 358