Hive編程技術(shù)與應(yīng)用

-
【作 者】孫帥 王美佳
【I S B N 】978-7-5170-6914-0
【責(zé)任編輯】張玉玲
【適用讀者群】本專通用
【出版時(shí)間】2018-10-15
【開 本】16開
【裝幀信息】平裝(光膜)
【版 次】第1版第1次印刷
【頁(yè) 數(shù)】160
【千字?jǐn)?shù)】242
【印 張】10
【定 價(jià)】¥28
【叢 書】普通高等教育數(shù)據(jù)科學(xué)與大數(shù)據(jù)技術(shù)專業(yè)教材
【備注信息】
簡(jiǎn)介
本書特色
前言
章節(jié)列表
精彩閱讀
下載資源
相關(guān)圖書
本書通過(guò)原理加案例的方式系統(tǒng)地講解了Hive編程技術(shù),使讀者能夠全面地了解使用Hive的開發(fā)流程。書中精心安排了Hive的原理分析、架構(gòu)特點(diǎn)、環(huán)境搭建、HiveQL使用等內(nèi)容,給出了大量的開發(fā)案例及其開發(fā)過(guò)程,使讀者對(duì)Hive開發(fā)有直觀的印象。
全書共10章:前6章系統(tǒng)講解Hive工作原理、特點(diǎn),Hive架構(gòu),HiveQL表操作,HiveQL數(shù)據(jù)操作,HiveQL查詢,Hive安裝與配置,Hive自定義函數(shù);第8~10章是綜合案例部分,通過(guò)案例幫助讀者掌握整個(gè)大數(shù)據(jù)項(xiàng)目的開發(fā)流程,包括數(shù)據(jù)清洗、數(shù)據(jù)處理、數(shù)據(jù)導(dǎo)入導(dǎo)出。本書知識(shí)結(jié)構(gòu)簡(jiǎn)單明了,案例生動(dòng)具體,內(nèi)容設(shè)計(jì)新穎,思路清晰。
本書不僅可作為普通高校大數(shù)據(jù)相關(guān)專業(yè)的教材,也可以作為想繼續(xù)深入了解大數(shù)據(jù)編程的讀者的參考書,還可作為各類相關(guān)培訓(xùn)班的培訓(xùn)教材。
本書詳細(xì)介紹了Hive 的基本架構(gòu),系統(tǒng)講解了Hive 編程技術(shù);精心安排了Hive 的原理分析、架構(gòu)特點(diǎn)、環(huán)境搭建、HiveQL 使用等內(nèi)容。全書內(nèi)容豐富、重點(diǎn)突出、簡(jiǎn)明易懂,突出理論與案例相結(jié)合的形式,章節(jié)設(shè)計(jì)循序漸進(jìn)、深入淺出。
現(xiàn)在是大數(shù)據(jù)時(shí)代,我們正以前所未有的速度和規(guī)模產(chǎn)生數(shù)據(jù)。數(shù)據(jù)資產(chǎn)正在成為與土地、資本、人力并駕齊驅(qū)的關(guān)鍵生產(chǎn)要素,并在社會(huì)、經(jīng)濟(jì)、科學(xué)研究等方面顛覆人們探索世界的方法、驅(qū)動(dòng)產(chǎn)業(yè)間的融合與分立。大數(shù)據(jù)是用來(lái)描述數(shù)據(jù)規(guī)模巨大、數(shù)據(jù)類型復(fù)雜的數(shù)據(jù)集,它本身蘊(yùn)含著豐富的價(jià)值。對(duì)這些數(shù)據(jù)的分析處理促進(jìn)了許多優(yōu)秀的海量數(shù)據(jù)分析平臺(tái)的產(chǎn)生,Hadoop平臺(tái)就是當(dāng)前最為主流的一款。
Hive是Hadoop生態(tài)系統(tǒng)中必不可少的一個(gè)工具,它提供了一種SQL語(yǔ)言,可以查詢存儲(chǔ)在HDFS中的數(shù)據(jù)或者其他Hadoop支持的文件系統(tǒng),如MapR-FS、Amazon S3、HBase和Cassandra。Hive降低了應(yīng)用程序遷移到Hadoop集群的復(fù)雜度,掌握SQL語(yǔ)句的開發(fā)人員可以輕松地學(xué)習(xí)并使用Hive。
本書共分10章,其中不僅有詳細(xì)的理論講解,還有大量的實(shí)戰(zhàn)操作。具體內(nèi)容如下:
第1章首先介紹了Hive的基本工作原理及HiveQL語(yǔ)句在Hive中執(zhí)行的具體流程;其次介紹了Hive中的數(shù)據(jù)類型,主要包括原子數(shù)據(jù)類型和復(fù)雜數(shù)據(jù)類型;最后給出了Hive的設(shè)計(jì)特點(diǎn)。
第2章詳細(xì)介紹了Hive的基本架構(gòu),主要包括Hive的相關(guān)用戶接口、Hive元數(shù)據(jù)庫(kù)中的表結(jié)構(gòu)和三種存儲(chǔ)方式、Hive數(shù)據(jù)存儲(chǔ)中的相關(guān)概念、Hive中文件格式的不同特性和區(qū)別。
第3章講解了HiveQL的相關(guān)表操作。
第4章描述了HiveQL的相關(guān)數(shù)據(jù)操作,主要包括數(shù)據(jù)的導(dǎo)入和導(dǎo)出。
第5章講解了HiveQL的查詢語(yǔ)句中的不同語(yǔ)法和使用方式。
第6章講解了Hive的完整安裝過(guò)程。在此基礎(chǔ)上給出Hive的不同訪問(wèn)方式,并基于Hive CLI方式給出相關(guān)操作的介紹,同時(shí)給出Hive數(shù)據(jù)定義的相關(guān)操作。
第7章介紹了Hive的自定義函數(shù),給出了UDF、UDTF、UDAF各自的函數(shù)實(shí)現(xiàn)方式,并給出了具體的實(shí)現(xiàn)源碼。
第8~10章給出了Hive的相關(guān)綜合案例,將之前章節(jié)的內(nèi)容通過(guò)實(shí)際案例串聯(lián)起來(lái),達(dá)到最終應(yīng)用的目的。
本書由孫帥、王美佳任主編。其中第1~2章由孫帥編寫,第3~6章由王美佳編寫,第7章由李紫薇編寫,第8章由鄒先鋒編寫,第9章由張美娟編寫,第10章由臧紅久編寫。本書的編寫得到北京百知教育科技有限公司的大力支持,在此表示感謝。
由于時(shí)間倉(cāng)促,加之編者水平有限,本書難免存在不足之處,懇請(qǐng)讀者對(duì)本書提出寶貴的意見(jiàn)和建議。
編 者
2018年5月
1.1 Hive工作原理 1
1.2 Hive的數(shù)據(jù)類型 2
1.3 Hive的特點(diǎn) 4
1.4 本章小結(jié) 4
第2章 Hive架構(gòu) 5
2.1 Hive用戶接口 5
2.1.1 Hive CLI 5
2.1.2 HWI 6
2.1.3 Thrift服務(wù) 10
2.2 Hive元數(shù)據(jù)庫(kù) 11
2.2.1 Hive元數(shù)據(jù)表結(jié)構(gòu) 11
2.2.2 Hive元數(shù)據(jù)的三種存儲(chǔ)模式 12
2.3 Hive數(shù)據(jù)存儲(chǔ) 13
2.4 Hive文件格式 14
2.4.1 TextFile格式 14
2.4.2 SequenceFile格式 14
2.4.3 RCFile格式 14
2.4.4 ORC格式 15
2.5 本章小結(jié) 16
第3章 HiveQL表操作 17
3.1 內(nèi)部表 17
3.2 外部表 21
3.3 分區(qū)表 23
3.3.1 靜態(tài)分區(qū) 25
3.3.2 動(dòng)態(tài)分區(qū) 27
3.4 桶表 28
3.5 視圖 30
3.5.1 使用視圖降低查詢復(fù)雜度 31
3.5.2 使用視圖來(lái)限制基于條件過(guò)濾
的數(shù)據(jù) 32
3.5.3 動(dòng)態(tài)分區(qū)中的視圖和map類型 32
3.6 本章小結(jié) 33
第4章 HiveQL數(shù)據(jù)操作 34
4.1 裝載數(shù)據(jù)到表中 34
4.2 通過(guò)查詢語(yǔ)句向表中插入數(shù)據(jù) 35
4.3 單個(gè)查詢語(yǔ)句中創(chuàng)建并加載數(shù)據(jù) 37
4.4 導(dǎo)出數(shù)據(jù) 37
4.5 本章小結(jié) 38
第5章 HiveQL查詢 39
5.1 SELECT…FROM語(yǔ)句 39
5.1.1 使用正則表達(dá)式來(lái)指定列的 40
5.1.2 使用列值進(jìn)行計(jì)算 41
5.1.3 算述運(yùn)算符 41
5.1.4 使用函數(shù) 42
5.1.5 LIMIT語(yǔ)句 46
5.1.6 列別名 46
5.1.7 嵌套SELECT語(yǔ)句 46
5.1.8 CASE…WHEN…THEN語(yǔ)句 46
5.2 WHERE語(yǔ)句 47
5.2.1 謂詞操作符 48
5.2.2 關(guān)于浮點(diǎn)數(shù)比較 49
5.2.3 LIKE和RLIKE 50
5.3 GROUP BY語(yǔ)句 50
5.4 JOIN語(yǔ)句 51
5.4.1 INNER JOIN 51
5.4.2 JOIN優(yōu)化 53
5.4.3 LEFT OUTER JOIN 53
5.4.4 RIGHT OUTER JOIN 54
5.4.5 FULL OUTER JOIN 54
5.4.6 LEFT SEMI JOIN 54
5.4.7 笛卡爾積JOIN 55
5.4.8 map-side JOIN 55
5.5 ORDER BY和SORT BY 56
5.6 含有SORT BY的DISTRIBUTE BY 57
5.7 CLUSTER BY 57
5.8 類型轉(zhuǎn)換 58
5.9 抽樣查詢 58
5.9.1 數(shù)據(jù)塊抽樣 59
5.9.2 分桶表的輸入裁剪 59
5.10 UNION ALL 60
5.11 本章小結(jié) 61
第6章 Hive配置與應(yīng)用 62
6.1 Hive安裝與配置 62
6.2 Hive訪問(wèn) 65
6.3 Hive基本操作 67
6.3.1 Hive CLI命令行操作講解 67
6.3.2 Hive的數(shù)據(jù)類型 71
6.3.3 Hive表的創(chuàng)建 73
6.3.4 Hive數(shù)據(jù)導(dǎo)入 74
6.3.5 Hive數(shù)據(jù)導(dǎo)出 76
6.4 Hive數(shù)據(jù)定義 77
6.4.1 內(nèi)部表與外部表的區(qū)別 77
6.4.2 內(nèi)部表建立 77
6.4.3 外部表建立 79
6.4.4 表的分區(qū)與桶的建立 81
6.4.5 刪除表與修改表結(jié)構(gòu) 87
6.4.6 HiveQL簡(jiǎn)單查詢語(yǔ)句 88
6.4.7 WHERE語(yǔ)句 91
6.5 Hive高級(jí)查詢 91
6.6 本章小結(jié) 98
第7章 Hive自定義函數(shù) 99
7.1 UDF 99
7.2 UDTF 102
7.3 UDAF 105
7.4 Hive函數(shù)綜合案例 109
7.4.1 Row_Sequence實(shí)現(xiàn)列自增長(zhǎng) 109
7.4.2 列轉(zhuǎn)行和行轉(zhuǎn)列 111
7.5 本章小結(jié) 114
第8章 Hive綜合案例(一) 115
8.1 項(xiàng)目背景與數(shù)據(jù)情況 115
8.2 關(guān)鍵指標(biāo)KPI 116
8.3 開發(fā)步驟分析 116
8.4 表結(jié)構(gòu)設(shè)計(jì) 117
8.5 數(shù)據(jù)清洗過(guò)程 118
8.5.1 定期上傳日志至HDFS 118
8.5.2 編寫MapReduce程序清理日志 119
8.5.3 定期清理日志至HDFS 121
8.5.4 查詢清洗前后的數(shù)據(jù) 122
8.6 數(shù)據(jù)統(tǒng)計(jì)分析 122
8.6.1 借助Hive進(jìn)行統(tǒng)計(jì) 122
8.6.2 使用HiveQL統(tǒng)計(jì)關(guān)鍵指標(biāo) 123
8.7 本章小結(jié) 124
第9章 Hive綜合案例(二) 125
9.1 項(xiàng)目應(yīng)用場(chǎng)景 125
9.2 設(shè)計(jì)與實(shí)現(xiàn) 125
9.2.1 日志格式分析 125
9.2.2 建立表 125
9.2.3 程序設(shè)計(jì) 126
9.2.4 編碼實(shí)現(xiàn) 127
9.2.5 運(yùn)行并測(cè)試 129
9.3 本章小結(jié) 129
第10章 Hive綜合案例(三) 130
10.1 應(yīng)用場(chǎng)景 130
10.2 設(shè)計(jì)與實(shí)現(xiàn) 130
10.2.1 數(shù)據(jù)處理 130
10.2.2 使用Hive對(duì)清洗后的數(shù)據(jù)進(jìn)行
多維分析 132
10.2.3 在MySQL中建立數(shù)據(jù)庫(kù) 136
10.2.4 使用sqoop把分析結(jié)果導(dǎo)入到
MySQL中 136
10.2.5 程序設(shè)計(jì)與實(shí)現(xiàn) 138
10.2.6 運(yùn)行并測(cè)試 138
10.3 本章總結(jié) 139
附錄 140
- 零基礎(chǔ)玩轉(zhuǎn)國(guó)產(chǎn)大模型DeepSeek [徐永冰 張帥 編著]
- 網(wǎng)絡(luò)工程師5天修煉(適配第6版考綱) [主編 朱小平 施游]
- 信息系統(tǒng)項(xiàng)目管理師考試32小時(shí)通關(guān)(適用第4版考綱) [薛大龍]
- 信息系統(tǒng)管理工程師考試32小時(shí)通關(guān)(適配第2版考綱) [薛大龍 劉偉]
- 土木工程材料檢測(cè)實(shí)訓(xùn) [洪曉江 達(dá)則曉麗 錢波]
- 科技信息檢索與論文寫作實(shí)用教程 [李振華]
- 傳統(tǒng)山水畫論解讀與實(shí)踐 [陳鈉 著]
- Python數(shù)據(jù)庫(kù)編程 [主編 殷樹友 邢 翀]
- 計(jì)算機(jī)基礎(chǔ)實(shí)訓(xùn)指導(dǎo) [主編 袁春萍 朱妮]
- 嵌入式人工智能技術(shù)應(yīng)用(數(shù)字教材) [主編 胡娜 楊國(guó)勇 晏廷榮]
- Vienna整流器技術(shù) [桂存兵 著]
- 變頻器與伺服應(yīng)用 [陳剛 葉云飛]
- 物聯(lián)網(wǎng)工程設(shè)計(jì)與實(shí)踐 [湯琳 李敏]
- 爐邊夜話——深入淺出話AI [汪建 著]
- 電商運(yùn)營(yíng)與管理 [鐘肖英 陳瀟]
- Java面向?qū)ο蟪绦蛟O(shè)計(jì) [主編 姜春磊 陳虹潔]
- 信息技術(shù)基礎(chǔ)(Windows 10+WPS Office)(微課版) [主編 石利平 田輝平 謝盛嘉]
- 人工智能應(yīng)用 [主編 陳 萍 劉培培 陳孟軍]
- 大學(xué)生職業(yè)發(fā)展與就業(yè)指導(dǎo) [主編 劉志堅(jiān)]
- 高級(jí)辦公應(yīng)用項(xiàng)目教程 [主編 屈晶 趙成麗]
- 微信小程序開發(fā)項(xiàng)目實(shí)戰(zhàn)(微課版) [主編 黃龍泉 郭峰 朱倩]
- 企業(yè)檔案工作實(shí)戰(zhàn)寶典百問(wèn)百答 [華俊 盧秀英 邵甜甜 著]
- 計(jì)算機(jī)網(wǎng)絡(luò)原理及應(yīng)用 [主編 唐繼勇 葉坤 孫夢(mèng)娜]
- 大學(xué)生創(chuàng)業(yè)基礎(chǔ) [主編 王麗莉 王 楊]
- 船舶輔機(jī) [主編 王連海 于洋 姜淑翠]
- 大學(xué)生就業(yè)指導(dǎo) [主編 王麗莉 董宴廷]
- 系統(tǒng)架構(gòu)設(shè)計(jì)師章節(jié)習(xí)題與考點(diǎn)特訓(xùn) [主編 薛大龍 鄒月平]
- 高校學(xué)生工作探索與實(shí)踐 [郭亮 著]
- 大學(xué)生情商管理 [方雄 著]
- 2023年長(zhǎng)沙市會(huì)展業(yè)發(fā)展報(bào)告 [主編 周棟良]
- 生活經(jīng)管more>>
- 云計(jì)算原理
- Python數(shù)據(jù)分析
- 大數(shù)據(jù)技術(shù)導(dǎo)論
- HBase分布式存儲(chǔ)系統(tǒng)應(yīng)用(第二版)
- Hive編程技術(shù)與應(yīng)用(第二版)
- Python 語(yǔ)言程序設(shè)計(jì)實(shí)踐指導(dǎo)
- Spark大數(shù)據(jù)處理技術(shù)
- 數(shù)據(jù)清洗
- R語(yǔ)言基礎(chǔ)及應(yīng)用
- 數(shù)據(jù)庫(kù)原理及應(yīng)用(MySQL版)
- 大數(shù)據(jù)導(dǎo)論
- 大數(shù)據(jù)可視化技術(shù)
- Python語(yǔ)言程序設(shè)計(jì)
- Java編程基礎(chǔ)
- Java編程基礎(chǔ)實(shí)踐指導(dǎo)
- 深度學(xué)習(xí)—卷積神經(jīng)網(wǎng)絡(luò)算法原理與應(yīng)用