Hive數(shù)據(jù)倉(cāng)庫(kù)案例教程
定 價(jià):45 元
- 作者:王劍輝
- 出版時(shí)間:2021/8/1
- ISBN:9787121418068
- 出 版 社:電子工業(yè)出版社
- 中圖法分類(lèi):TP311.13
- 頁(yè)碼:200
- 紙張:
- 版次:01
- 開(kāi)本:16開(kāi)
本書(shū)系統(tǒng)介紹Hive數(shù)據(jù)倉(cāng)庫(kù)的相關(guān)知識(shí)和技術(shù)。全書(shū)共12章,主要內(nèi)容包括Hive數(shù)據(jù)倉(cāng)庫(kù)基礎(chǔ)、Hive環(huán)境搭建、Hive基礎(chǔ)、Hive數(shù)據(jù)定義、Hive數(shù)據(jù)操作、HQL查詢(xún)、Hive函數(shù)、Hive數(shù)據(jù)壓縮、Hive優(yōu)化、Hive綜合案例和上機(jī)實(shí)驗(yàn)等。本書(shū)知識(shí)結(jié)構(gòu)簡(jiǎn)單明了,案例生動(dòng)具體,內(nèi)容設(shè)計(jì)新穎。本書(shū)免費(fèi)提供教學(xué)大綱、電子課件和所有案例源代碼,書(shū)后附有部分習(xí)題參考答案。本書(shū)可作為普通高校數(shù)據(jù)科學(xué)與大數(shù)據(jù)相關(guān)專(zhuān)業(yè)的教材,也可作為想繼續(xù)深入了解大數(shù)據(jù)存儲(chǔ)和開(kāi)發(fā)的讀者的參考書(shū),還可作為各類(lèi)大數(shù)據(jù)相關(guān)培訓(xùn)的教材。
王劍輝,沈陽(yáng)師范大學(xué)數(shù)學(xué)與系統(tǒng)科學(xué)學(xué)院教授,長(zhǎng)期從事Web應(yīng)用程序設(shè)計(jì),Hive數(shù)據(jù)倉(cāng)庫(kù),Hadoop大數(shù)據(jù)技術(shù)、Java程序設(shè)計(jì)、人工智能等方面的科研與教學(xué)工作。
第1章 Hive數(shù)據(jù)倉(cāng)庫(kù)基礎(chǔ) 1
1.1 數(shù)據(jù)倉(cāng)庫(kù) 1
1.1.1 數(shù)據(jù)倉(cāng)庫(kù)的概念 1
1.1.2 數(shù)據(jù)倉(cāng)庫(kù)的特點(diǎn) 3
1.1.3 數(shù)據(jù)倉(cāng)庫(kù)的數(shù)據(jù)模型 3
1.1.4 數(shù)據(jù)倉(cāng)庫(kù)的體系結(jié)構(gòu) 4
1.2 Hive數(shù)據(jù)倉(cāng)庫(kù) 5
1.3 Hive體系結(jié)構(gòu)及執(zhí)行流程 6
1.3.1 Hive體系結(jié)構(gòu) 6
1.3.2 Hive執(zhí)行流程 8
1.4 Hive數(shù)據(jù)倉(cāng)庫(kù)和數(shù)據(jù)庫(kù)比較 8
習(xí)題1 10
第2章 Hive環(huán)境搭建 12
2.1 Hive安裝及配置 12
2.1.1 Hive的安裝模式 12
2.1.2 Hive安裝及配置過(guò)程 12
2.1.3 Hive基本操作 14
2.2 MySQL安裝及配置 15
2.2.1 MySQL安裝包準(zhǔn)備 15
2.2.2 MySQL服務(wù)器端安裝 15
2.2.3 MySQL客戶端安裝 16
2.3 Hive元數(shù)據(jù)配置 16
2.3.1 驅(qū)動(dòng)復(fù)制 16
2.3.2 配置元數(shù)據(jù)到MySQL 16
2.3.3 多終端啟動(dòng)Hive 17
2.4 Hive JDBC連接 18
2.4.1 HiveServer2配置 18
2.4.2 HiveServer2啟動(dòng) 18
2.4.3 Beeline啟動(dòng) 18
2.4.4 HiveServer2連接 19
2.5 Hive常見(jiàn)屬性配置 19
2.5.1 Hive位置配置 19
2.5.2 信息顯示配置 19
2.5.3 運(yùn)行日志信息配置 20
2.5.4 Hive參數(shù)配置方式 20
習(xí)題2 21
第3章 Hive基礎(chǔ) 23
3.1 Hive數(shù)據(jù)類(lèi)型 23
3.1.1 基本數(shù)據(jù)類(lèi)型 23
3.1.2 復(fù)雜數(shù)據(jù)類(lèi)型 24
3.1.3 數(shù)據(jù)類(lèi)型轉(zhuǎn)換 24
3.2 Hive運(yùn)算符 25
3.2.1 算術(shù)運(yùn)算符 25
3.2.2 比較運(yùn)算符 25
3.2.3 邏輯運(yùn)算符 26
3.2.4 復(fù)雜運(yùn)算符 26
3.3 Hive數(shù)據(jù)存儲(chǔ) 27
3.4 Hive表存儲(chǔ)格式 27
3.4.1 行式存儲(chǔ)和列式存儲(chǔ) 28
3.4.2 TextFile格式 28
3.4.3 SequenceFile格式 28
3.4.4 ORC格式 29
3.4.5 Parquet格式 29
3.5 Hive常用交互命令 30
3.6 Hive其他操作命令 31
習(xí)題3 31
第4章 Hive數(shù)據(jù)定義 34
4.1 數(shù)據(jù)倉(cāng)庫(kù)的創(chuàng)建 34
4.2 數(shù)據(jù)倉(cāng)庫(kù)的查詢(xún) 35
4.2.1 顯示數(shù)據(jù)倉(cāng)庫(kù) 35
4.2.2 查看數(shù)據(jù)倉(cāng)庫(kù)詳情 35
4.2.3 切換數(shù)據(jù)倉(cāng)庫(kù) 35
4.3 數(shù)據(jù)倉(cāng)庫(kù)的修改 35
4.4 數(shù)據(jù)倉(cāng)庫(kù)的刪除 36
4.5 表的創(chuàng)建 36
4.5.1 內(nèi)部表 37
4.5.2 外部表 40
4.5.3 內(nèi)部表和外部表的轉(zhuǎn)換 42
4.6 分區(qū)表 42
4.6.1 分區(qū)表基本操作 43
4.6.2 二級(jí)分區(qū)表創(chuàng)建 45
4.7 桶表 46
4.8 表的修改 48
4.8.1 重命名 48
4.8.2 增加和刪除分區(qū) 48
4.8.3 修改、增加和替換列 49
4.9 表的刪除 51
4.10 視圖 52
習(xí)題4 57
第5章 Hive數(shù)據(jù)操作 60
5.1 數(shù)據(jù)導(dǎo)入 60
5.1.1 Load加載數(shù)據(jù) 60
5.1.2 Insert插入數(shù)據(jù) 61
5.1.3 As Select加載數(shù)據(jù) 63
5.1.4 Location加載數(shù)據(jù) 63
5.1.5 Import加載數(shù)據(jù) 64
5.2 數(shù)據(jù)導(dǎo)出 64
5.2.1 Insert語(yǔ)句導(dǎo)出 64
5.2.2 Hadoop命令導(dǎo)出 65
5.2.3 Hive Shell命令導(dǎo)出 65
5.2.4 Export語(yǔ)句導(dǎo)出 65
5.2.5 Sqoop導(dǎo)出 65
習(xí)題5 66
第6章 HQL查詢(xún) 68
6.1 Select基本查詢(xún) 68
6.1.1 全表和特定列查詢(xún) 68
6.1.2 列的別名 69
6.1.3 Limit語(yǔ)句 69
6.2 Where語(yǔ)句 69
6.2.1 Like的使用 71
6.2.2 Rlike的使用 72
6.3 分組語(yǔ)句 74
6.3.1 Group By語(yǔ)句 74
6.3.2 Having語(yǔ)句 74
6.4 Join語(yǔ)句 75
6.4.1 等值連接 75
6.4.2 表的別名 76
6.4.3 內(nèi)連接 76
6.4.4 左外連接 76
6.4.5 右外連接 76
6.4.6 滿外連接 76
6.4.7 左半連接 77
6.4.8 多表連接 77
6.4.9 笛卡兒積Join 78
6.5 排序 79
6.5.1 Order By全局排序 79
6.5.2 字段別名排序 80
6.5.3 多字段排序 81
6.5.4 Sort By內(nèi)部排序 81
6.5.5 Distribute By分區(qū)排序 83
6.5.6 Cluster By排序 83
6.6 抽樣查詢(xún) 84
6.6.1 桶表抽樣查詢(xún) 84
6.6.2 數(shù)據(jù)塊抽樣查詢(xún) 85
6.6.3 隨機(jī)抽樣查詢(xún) 87
習(xí)題6 87
第7章 Hive函數(shù) 89
7.1 Hive內(nèi)置函數(shù) 89
7.1.1 數(shù)值計(jì)算函數(shù) 89
7.1.2 聚合函數(shù) 90
7.1.3 日期時(shí)間函數(shù) 91
7.1.4 條件函數(shù) 92
7.1.5 字符串處理函數(shù) 93
7.1.6 內(nèi)置函數(shù)查看命令 96
7.2 其他常用函數(shù) 96
7.2.1 空字段賦值函數(shù) 96
7.2.2 列轉(zhuǎn)行函數(shù) 97
7.2.3 窗口函數(shù) 100
7.2.4 排序函數(shù) 106
7.3 自定義函數(shù) 108
7.3.1 UDF函數(shù) 108
7.3.2 UDTF函數(shù) 110
7.3.3 UDAF函數(shù) 112
習(xí)題7 113
第8章 Hive數(shù)據(jù)壓縮 116
8.1 數(shù)據(jù)壓縮格式 116
8.2 Hadoop壓縮配置 117
8.2.1 Snappy壓縮方式配置 117
8.2.2 MapReduce支持的壓縮編碼 118
8.2.3 MapReduce壓縮格式參數(shù)配置 118
8.3 Map輸出壓縮開(kāi)啟 119
8.4 Reduce輸出壓縮開(kāi)啟 119
8.5 常用Hive表存儲(chǔ)格式比較 120
8.5.1 存儲(chǔ)文件的壓縮比測(cè)試 120
8.5.2 存儲(chǔ)文件的查詢(xún)速度測(cè)試 122
8.6 存儲(chǔ)和壓縮結(jié)合 123
習(xí)題8 125
第9章 Hive優(yōu)化 127
9.1 Hive參數(shù)優(yōu)化 127
9.1.1 本地模式 127
9.1.2 Fetch抓取 128
9.1.3 并行執(zhí)行 128
9.1.4 嚴(yán)格模式 129
9.1.5 推測(cè)執(zhí)行 130
9.1.6 JVM重用 131
9.2 數(shù)據(jù)傾斜 131
9.2.1 合理設(shè)置Map個(gè)數(shù) 131
9.2.2 合并小文件 132
9.2.3 復(fù)雜文件增加Map個(gè)數(shù) 132
9.2.4 合理設(shè)置Reduce個(gè)數(shù) 133
9.3 HQL優(yōu)化 134
9.3.1 Group By優(yōu)化 134
9.3.2 小表、大表Join 134
9.3.3 大表Join大表 136
9.3.4 MapJoin 137
9.3.5 Count優(yōu)化 138
9.3.6 行/列過(guò)濾優(yōu)化 139
9.3.7 動(dòng)態(tài)分區(qū)調(diào)整優(yōu)化 140
9.3.8 執(zhí)行計(jì)劃優(yōu)化 141
習(xí)題9 142
第10章 綜合案例1:廣電大數(shù)據(jù)分析 144
10.1 案例需求分析 144
10.2 案例數(shù)據(jù)及建表 144
10.2.1 原始數(shù)據(jù) 144
10.2.2 數(shù)據(jù)表結(jié)構(gòu) 144
10.2.3 創(chuàng)建表 145
10.2.4 向TextFile表導(dǎo)入數(shù)據(jù) 147
10.2.5 向ORC表導(dǎo)入數(shù)據(jù) 147
10.3 數(shù)據(jù)統(tǒng)計(jì)分析 147
10.3.1 基本信息查詢(xún) 147
10.3.2 單個(gè)用戶觀看時(shí)長(zhǎng)Top20 148
10.3.3 用戶觀看時(shí)長(zhǎng)Top20 149
10.3.4 電視觀看數(shù)Top20 150
10.3.5 電視觀看時(shí)長(zhǎng)Top20 150
10.3.6 用戶正常狀態(tài)及數(shù)量 151
第11章 綜合案例2:影評(píng)大數(shù)據(jù)分析 152
11.1 案例需求分析 152
11.2 案例數(shù)據(jù)及建表 152
11.2.1 原始數(shù)據(jù) 152
11.2.2 創(chuàng)建表及導(dǎo)入數(shù)據(jù) 153
11.2.3 基本信息查詢(xún) 153
11.3 數(shù)據(jù)統(tǒng)計(jì)分析 154
11.3.1 評(píng)分次數(shù)最多的10部電影 154
11.3.2 性別當(dāng)中評(píng)分最高的10部電影 154
11.3.3 一部電影各年齡段的平均影評(píng) 156
11.3.4 評(píng)分最高的10部電影的平均影評(píng)分 156
11.3.5 好片最多年份的最好看電影Top10 157
11.3.6 評(píng)分最高的10部Comedy類(lèi)電影 158
11.3.7 各種類(lèi)型電影中評(píng)價(jià)最高的5部電影 159
第12章 上機(jī)實(shí)驗(yàn) 163
實(shí)驗(yàn)1 Hive安裝部署 163
實(shí)驗(yàn)2 Hive數(shù)據(jù)定義 165
實(shí)驗(yàn)3 Hive數(shù)據(jù)操作 167
實(shí)驗(yàn)4 Hive分區(qū)表和桶表 171
實(shí)驗(yàn)5 Hive查詢(xún) 174
實(shí)驗(yàn)6 Hive分組排序 177
實(shí)驗(yàn)7 Hive JDBC連接 179
實(shí)驗(yàn)8 Hive UDF 182
附錄A Hive常用網(wǎng)址 185
附錄B 常見(jiàn)錯(cuò)誤及解決方案 186
附錄C 部分習(xí)題答案 188
參考文獻(xiàn) 191