Hive大數(shù)據(jù)存儲(chǔ)與處理
定 價(jià):59.8 元
叢書(shū)名:大數(shù)據(jù)技術(shù)精品系列教材
- 作者:何煌,張良均
- 出版時(shí)間:2024/3/1
- ISBN:9787115637963
- 出 版 社:人民郵電出版社
- 中圖法分類:TP311.13
- 頁(yè)碼:
- 紙張:膠版紙
- 版次:
- 開(kāi)本:128開(kāi)
本書(shū)以廣電大數(shù)據(jù)案例為主線,系統(tǒng)介紹數(shù)據(jù)倉(cāng)庫(kù)Hive存儲(chǔ)和初步處理方法的相關(guān)知識(shí)。本書(shū)條理清楚、重點(diǎn)突出,內(nèi)容循序漸進(jìn)、由淺入深。本書(shū)共8章,包括廣電大數(shù)據(jù)用戶畫(huà)像需求分析、部署開(kāi)發(fā)環(huán)境、廣電用戶數(shù)據(jù)存儲(chǔ)、廣電用戶基本數(shù)據(jù)簡(jiǎn)單查詢、廣電用戶賬單與訂單數(shù)據(jù)查詢進(jìn)階、廣電用戶收視行為數(shù)據(jù)查詢優(yōu)化、廣電用戶數(shù)據(jù)清洗及數(shù)據(jù)導(dǎo)出,以及廣電用戶數(shù)據(jù)存儲(chǔ)與處理的程序開(kāi)發(fā)。本書(shū)大部分章包含實(shí)訓(xùn)和課后習(xí)題,通過(guò)練習(xí)和操作實(shí)踐,幫助讀者鞏固所學(xué)的內(nèi)容。
本書(shū)可以作為高等院校數(shù)據(jù)科學(xué)或大數(shù)據(jù)相關(guān)專業(yè)的教材,也可以作為大數(shù)據(jù)愛(ài)好者的自學(xué)用書(shū)。
將理論與實(shí)踐結(jié)合。本書(shū)以知識(shí)點(diǎn)和廣電大數(shù)據(jù)案例為主線,介紹在大數(shù)據(jù)技術(shù)中Hive的主要用法。
以任務(wù)為導(dǎo)向。本書(shū)從知識(shí)點(diǎn)到實(shí)操,再到具體的項(xiàng)目,讓讀者明白如何利用所學(xué)知識(shí)來(lái)解決問(wèn)題,通過(guò)實(shí)訓(xùn)和課后習(xí)題幫助讀者鞏固所學(xué)知識(shí),從而使讀者真正理解并應(yīng)用所學(xué)知識(shí)。
注重啟發(fā)式教學(xué)。本書(shū)內(nèi)容圍繞利用Hive處理大數(shù)據(jù)的流程展開(kāi),不堆砌知識(shí)點(diǎn),著重于思路的啟發(fā)與解決方案的實(shí)施。通過(guò)對(duì)從任務(wù)需求到實(shí)現(xiàn)這一完整工作流程的體驗(yàn),讀者將真正理解并掌握Hive大數(shù)據(jù)存儲(chǔ)和處理技術(shù)。
何煌,華中科技大學(xué)院軟件工程碩士,“雙師型”專業(yè)講師,PMP項(xiàng)目管理師,大數(shù)據(jù)高級(jí)分析師。曾在企業(yè)從事多年系統(tǒng)研發(fā)工作,目前在廣東創(chuàng)新科技職業(yè)學(xué)院信工學(xué)院擔(dān)任軟件教研室主任,負(fù)責(zé)軟件和大數(shù)據(jù)專業(yè)教學(xué)研究工作。先后主編《計(jì)算機(jī)應(yīng)用基礎(chǔ)》、《Java程序設(shè)計(jì)教程》《創(chuàng)新創(chuàng)業(yè)基礎(chǔ)教程》、《計(jì)算機(jī)應(yīng)用基礎(chǔ)實(shí)用教程》、《信息技術(shù)基礎(chǔ)》等多本教材編撰工作。
第 1章 廣電大數(shù)據(jù)用戶畫(huà)像需求分析 1
任務(wù)1.1 需求分析與架構(gòu) 3
1.1.1 業(yè)務(wù)需求分析 3
1.1.2 大數(shù)據(jù)存儲(chǔ)技術(shù)架構(gòu) 4
任務(wù)1.2 認(rèn)識(shí)Hive 7
1.2.1 Hive簡(jiǎn)介 8
1.2.2 Hive的架構(gòu) 8
1.2.3 Hive設(shè)計(jì)特性 10
小結(jié) 12
課后習(xí)題 13
第 2章 部署開(kāi)發(fā)環(huán)境 14
任務(wù)2.1 安裝部署Hadoop集群 15
2.1.1 VMware虛擬機(jī)安裝和網(wǎng)絡(luò)設(shè)置 15
2.1.2 部署CentOS 19
2.1.3 Hadoop集群部署前準(zhǔn)備 33
2.1.4 Hadoop集群部署 37
任務(wù)2.2 安裝部署Hive 51
2.2.1 安裝配置MySQL 52
2.2.2 安裝配置Hive 52
任務(wù)2.3 使用Hive CLI 56
2.3.1 啟動(dòng)Hive CLI 56
2.3.2 在Hive中執(zhí)行Bash Shell和Hadoop dfs命令 57
2.3.3 在Shell中執(zhí)行Hive查詢 58
小結(jié) 59
課后習(xí)題 59
第3章 廣電用戶數(shù)據(jù)存儲(chǔ) 62
任務(wù)3.1 創(chuàng)建業(yè)務(wù)數(shù)據(jù)表 63
3.1.1 操作Hive數(shù)據(jù)庫(kù) 63
3.1.2 了解Hive數(shù)據(jù)類型 66
3.1.3 創(chuàng)建與管理Hive表 68
3.1.4 任務(wù)實(shí)現(xiàn) 78
任務(wù)3.2 將數(shù)據(jù)導(dǎo)入Hive表中 84
3.2.1 裝載數(shù)據(jù)至Hive表中 85
3.2.2 任務(wù)實(shí)現(xiàn) 86
小結(jié) 87
實(shí)訓(xùn) 創(chuàng)建輪船乘客表并導(dǎo)入數(shù)據(jù)至表中 88
課后習(xí)題 89
第4章 廣電用戶基本數(shù)據(jù)簡(jiǎn)單查詢 91
任務(wù)4.1 查詢廣電用戶的用戶編號(hào)及開(kāi)戶時(shí)間 92
4.1.1 SELECT語(yǔ)句 93
4.1.2 任務(wù)實(shí)現(xiàn) 94
任務(wù)4.2 查詢指定用戶狀態(tài)的用戶基本數(shù)據(jù) 95
4.2.1 使用WHERE關(guān)鍵字添加查詢條件 95
4.2.2 使用WHERE關(guān)鍵字添加常見(jiàn)查詢條件 96
4.2.3 任務(wù)實(shí)現(xiàn) 101
任務(wù)4.3 統(tǒng)計(jì)用戶基本數(shù)據(jù)表中品牌名稱的種類數(shù) 102
4.3.1 使用DISTINCT關(guān)鍵字去重查詢 102
4.3.2 使用聚合函數(shù) 103
4.3.3 任務(wù)實(shí)現(xiàn) 105
任務(wù)4.4 統(tǒng)計(jì)不同用戶等級(jí)名稱的記錄數(shù) 105
4.4.1 設(shè)置列別名 105
4.4.2 任務(wù)實(shí)現(xiàn) 107
任務(wù)4.5 統(tǒng)計(jì)不同用戶狀態(tài)的記錄數(shù) 108
4.5.1 使用GROUP BY關(guān)鍵字分組查詢 109
4.5.2 任務(wù)實(shí)現(xiàn) 111
任務(wù)4.6 統(tǒng)計(jì)指定用戶數(shù)量范圍的用戶等級(jí) 111
4.6.1 使用HAVING關(guān)鍵字對(duì)分組結(jié)果進(jìn)行篩選 111
4.6.2 任務(wù)實(shí)現(xiàn) 112
任務(wù)4.7 統(tǒng)計(jì)用戶數(shù)最多的3種用戶狀態(tài) 113
4.7.1 使用LIMIT關(guān)鍵字設(shè)置查詢結(jié)果展示 113
4.7.2 使用排序關(guān)鍵字對(duì)查詢結(jié)果排序 114
4.7.3 任務(wù)實(shí)現(xiàn) 117
任務(wù)4.8 查詢用戶發(fā)生狀態(tài)變更的時(shí)間及開(kāi)戶時(shí)間 118
4.8.1 使用正則表達(dá)式查詢數(shù)據(jù) 118
4.8.2 任務(wù)實(shí)現(xiàn) 119
小結(jié) 120
實(shí)訓(xùn) 查詢電商貨品訂單數(shù)據(jù) 120
課后習(xí)題 122
第5章 廣電用戶賬單與訂單數(shù)據(jù)查詢進(jìn)階 124
任務(wù)5.1 統(tǒng)計(jì)訂單的消費(fèi)類型 125
5.1.1 介紹Hive內(nèi)置函數(shù) 125
5.1.2 使用條件函數(shù) 127
5.1.3 使用類型轉(zhuǎn)換函數(shù) 128
5.1.4 任務(wù)實(shí)現(xiàn) 129
任務(wù)5.2 統(tǒng)計(jì)用戶每年消費(fèi)應(yīng)付總額 130
5.2.1 使用字符函數(shù) 130
5.2.2 任務(wù)實(shí)現(xiàn) 132
任務(wù)5.3 統(tǒng)計(jì)用戶每月消費(fèi)應(yīng)付總額 133
5.3.1 使用日期函數(shù) 134
5.3.2 任務(wù)實(shí)現(xiàn) 137
任務(wù)5.4 統(tǒng)計(jì)用戶每月實(shí)際賬單金額 138
5.4.1 使用數(shù)學(xué)函數(shù) 138
5.4.2 任務(wù)實(shí)現(xiàn) 140
任務(wù)5.5 查詢用戶寬帶訂單的地址數(shù)據(jù) 141
5.5.1 使用JOIN語(yǔ)句 141
5.5.2 介紹UNION ALL關(guān)鍵字 145
5.5.3 任務(wù)實(shí)現(xiàn) 145
任務(wù)5.6 抽樣統(tǒng)計(jì)用戶訂購(gòu)產(chǎn)品情況 146
5.6.1 使用桶表抽樣查詢 147
5.6.2 任務(wù)實(shí)現(xiàn) 147
小結(jié) 149
實(shí)訓(xùn) 149
實(shí)訓(xùn)1 查詢員工數(shù)據(jù) 149
實(shí)訓(xùn)2 查詢學(xué)生數(shù)據(jù) 151
課后習(xí)題 152
第6章 廣電用戶收視行為數(shù)據(jù)查詢優(yōu)化 154
任務(wù)6.1 使用視圖統(tǒng)計(jì)不同節(jié)目的用戶觀看人數(shù) 156
6.1.1 創(chuàng)建視圖 156
6.1.2 查看與刪除視圖 157
6.1.3 任務(wù)實(shí)現(xiàn) 159
任務(wù)6.2 優(yōu)化統(tǒng)計(jì)直播頻道數(shù) 159
6.2.1 配置Fetch抓取 160
6.2.2 合理設(shè)置map和reduce任務(wù)數(shù) 161
6.2.3 配置并行執(zhí)行 164
6.2.4 任務(wù)實(shí)現(xiàn) 165
任務(wù)6.3 使用子查詢統(tǒng)計(jì)節(jié)目類型為直播的頻道Top10 166
6.3.1 使用子查詢優(yōu)化查詢語(yǔ)句 166
6.3.2 優(yōu)化配置GROUP BY語(yǔ)句 167
6.3.3 使用GROUP BY代替COUNT(DISTINCT)去重統(tǒng)計(jì) 169
6.3.4 優(yōu)化配置LIMIT語(yǔ)句 171
6.3.5 任務(wù)實(shí)現(xiàn) 171
小結(jié) 173
實(shí)訓(xùn) 173
實(shí)訓(xùn)1 統(tǒng)計(jì)某城市各線路公交車的刷卡次數(shù) 173
實(shí)訓(xùn)2 統(tǒng)計(jì)某百貨商場(chǎng)會(huì)員總消費(fèi)金額Top10 174
課后習(xí)題 175
第7章 廣電用戶數(shù)據(jù)清洗及數(shù)據(jù)導(dǎo)出 178
任務(wù)7.1 清洗無(wú)效用戶數(shù)據(jù) 179
7.1.1 探索無(wú)效用戶數(shù)據(jù) 179
7.1.2 刪除無(wú)效用戶數(shù)據(jù) 185
任務(wù)7.2 清洗無(wú)效收視行為數(shù)據(jù) 186
7.2.1 探索無(wú)效收視行為數(shù)據(jù) 186
7.2.2 刪除無(wú)效收視行為數(shù)據(jù) 191
任務(wù)7.3 清洗無(wú)效賬單和訂單數(shù)據(jù) 192
7.3.1 探索無(wú)效賬單數(shù)據(jù) 193
7.3.2 探索無(wú)效訂單數(shù)據(jù) 193
7.3.3 刪除無(wú)效賬單和無(wú)效訂單數(shù)據(jù) 194
任務(wù)7.4 導(dǎo)出處理結(jié)果至Linux本地和HDFS 194
7.4.1 使用INSERT OVERWRITE語(yǔ)句將數(shù)據(jù)導(dǎo)出至文件系統(tǒng) 194
7.4.2 保存處理結(jié)果至Linux本地和HDFS 196
小結(jié) 198
實(shí)訓(xùn) 198
實(shí)訓(xùn)1 刪除無(wú)效房?jī)r(jià)數(shù)據(jù) 198
實(shí)訓(xùn)2 刪除惡意好評(píng)手機(jī)數(shù)據(jù)并保存結(jié)果至Linux本地 199
課后習(xí)題 199
第8章 廣電用戶數(shù)據(jù)存儲(chǔ)與處理的程序開(kāi)發(fā) 202
任務(wù)8.1 配置Hive遠(yuǎn)程服務(wù) 203
任務(wù)8.2 搭建Hive遠(yuǎn)程連接環(huán)境 205
8.2.1 創(chuàng)建IDEA開(kāi)發(fā)項(xiàng)目 205
8.2.2 添加依賴 208
8.2.3 手動(dòng)加載MySQL驅(qū)動(dòng) 210
8.2.4 JDBC及其主要接口 212
8.2.5 創(chuàng)建連接測(cè)試程序 215
任務(wù)8.3 編寫(xiě)程序?qū)崿F(xiàn)廣電數(shù)據(jù)的存儲(chǔ) 217
8.3.1 創(chuàng)建開(kāi)發(fā)項(xiàng)目 217
8.3.2 創(chuàng)建HiveHelper類和連接Hive 217
8.3.3 創(chuàng)建測(cè)試類 219
8.3.4 創(chuàng)建Hive數(shù)據(jù)庫(kù) 220
8.3.5 創(chuàng)建Hive表 220
8.3.6 裝載數(shù)據(jù) 221
8.3.7 程序運(yùn)行與調(diào)試 221
任務(wù)8.4 編寫(xiě)程序?qū)崿F(xiàn)廣電數(shù)據(jù)的查詢與處理 223
8.4.1 查詢數(shù)據(jù) 223
8.4.2 刪除無(wú)效用戶數(shù)據(jù) 225
8.4.3 刪除無(wú)效收視行為數(shù)據(jù) 226
8.4.4 刪除無(wú)效賬單和無(wú)效訂單數(shù)據(jù) 227
小結(jié) 228
實(shí)訓(xùn) 228
實(shí)訓(xùn)1 對(duì)Hadoop日志進(jìn)行統(tǒng)計(jì)分析 228
實(shí)訓(xùn)2 通過(guò)程序?qū)崿F(xiàn)對(duì)某技術(shù)論壇日志的分析 229
課后習(xí)題 230