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

-
【作 者】張鐵紅 張繼山 那銳
【I S B N 】978-7-5226-1170-9
【責(zé)任編輯】趙佳琦
【適用讀者群】本專通用
【出版時間】2023-01-18
【開 本】16開
【裝幀信息】平裝(光膜)
【版 次】第1版第1次印刷
【頁 數(shù)】160
【千字?jǐn)?shù)】250
【印 張】10
【定 價】¥36
【叢 書】普通高等教育數(shù)據(jù)科學(xué)與大數(shù)據(jù)技術(shù)專業(yè)教材
【備注信息】
簡介
本書特色
前言
章節(jié)列表
精彩閱讀
下載資源
相關(guān)圖書
本書通過原理加案例的方式系統(tǒng)地講解了Hive編程技術(shù),使讀者能夠全面地了解使用Hive的開發(fā)流程。書中精心安排了Hive的原理分析、架構(gòu)特點、環(huán)境搭建、HiveQL使用等內(nèi)容,給出了大量的開發(fā)案例及其開發(fā)過程,使讀者對Hive開發(fā)有直觀的印象。
全書共10章:第1~7章系統(tǒng)講解Hive工作原理、特點,Hive架構(gòu),HiveQL表操作,HiveQL數(shù)據(jù)操作,HiveQL查詢,Hive配置與應(yīng)用,Hive自定義函數(shù);第8~10章是綜合案例部分,通過案例幫助讀者掌握整個大數(shù)據(jù)項目的開發(fā)流程,包括數(shù)據(jù)清洗、數(shù)據(jù)處理、數(shù)據(jù)導(dǎo)入與導(dǎo)出。本書知識結(jié)構(gòu)簡單明了,案例生動具體,內(nèi)容設(shè)計新穎,思路清晰。
本書不僅可作為普通高校大數(shù)據(jù)相關(guān)專業(yè)的教材,也可以作為想繼續(xù)深入了解大數(shù)據(jù)編程的讀者的參考書,還可作為各類相關(guān)培訓(xùn)班的培訓(xùn)教材。
本書配有電子教案,讀者可以從中國水利水電出版社網(wǎng)站(www.waterpub.com.cn)或萬水書苑網(wǎng)站(www.dgboyong.cn)免費下載。
內(nèi)容實用——理論與實踐結(jié)合,重點突出應(yīng)用
體系完善——構(gòu)建完整的大數(shù)據(jù)專業(yè)解決方案
產(chǎn)教融合——高校企業(yè)共參與,對標(biāo)行業(yè)標(biāo)準(zhǔn)
資源豐富——微課、課件、教案、源碼、答案
再 版 前 言
現(xiàn)在是大數(shù)據(jù)時代,我們正以前所未有的速度和規(guī)模產(chǎn)生數(shù)據(jù)。數(shù)據(jù)資產(chǎn)正在成為與土地、資本、人力并駕齊驅(qū)的關(guān)鍵生產(chǎn)要素,并在社會、經(jīng)濟(jì)、科學(xué)研究等方面顛覆人們探索世界的方法,驅(qū)動產(chǎn)業(yè)間的融合與分立。大數(shù)據(jù)是用來描述巨大數(shù)據(jù)規(guī)模、復(fù)雜數(shù)據(jù)類型的數(shù)據(jù)集,它本身蘊(yùn)含著豐富的價值。對這些數(shù)據(jù)的分析處理促進(jìn)了許多優(yōu)秀的海量數(shù)據(jù)分析平臺的產(chǎn)生,Hadoop平臺就是當(dāng)前最為主流的一款。
Hive是Hadoop生態(tài)系統(tǒng)中必不可少的一個工具,它提供了一種SQL語言,可以查詢存儲在HDFS(Hadoop Distributed File System,Hadoop分布式文件系統(tǒng))中的數(shù)據(jù)或者Hadoop支持的其他文件系統(tǒng),如MapR-FS、Amazon S3、HBase和Cassandra。Hive降低了應(yīng)用程序遷移到Hadoop集群的復(fù)雜度,掌握SQL語句的開發(fā)人員可以輕松地學(xué)習(xí)并使用Hive。
本書在第一版的基礎(chǔ)上修訂了差錯,升級軟件版本并配套了微課資源和習(xí)題。全書共分10章,其中不僅有詳細(xì)的理論講解,還有大量的實戰(zhàn)操作。具體內(nèi)容如下:
第1章首先介紹了Hive的基本工作原理及HiveQL語句在Hive中執(zhí)行的具體流程;其次介紹了Hive中的數(shù)據(jù)類型,主要包括基本數(shù)據(jù)類型和復(fù)雜數(shù)據(jù)類型;最后介紹了Hive的特點。
第2章詳細(xì)介紹了Hive的基本架構(gòu),主要包括Hive的相關(guān)用戶接口、Hive元數(shù)據(jù)庫中的表結(jié)構(gòu)和三種存儲方式、Hive數(shù)據(jù)存儲中的相關(guān)概念、Hive中文件格式的不同特性和區(qū)別。
第3章介紹了HiveQL的相關(guān)表操作。
第4章介紹了HiveQL的相關(guān)數(shù)據(jù)操作,主要包括數(shù)據(jù)的導(dǎo)入和導(dǎo)出。
第5章介紹了HiveQL查詢語句中的不同語法和使用方式。
第6章介紹了Hive的完整安裝過程。在此基礎(chǔ)上給出Hive的不同訪問方式,并基于Hive CLI方式給出相關(guān)操作的介紹,同時給出Hive數(shù)據(jù)定義的相關(guān)操作。
第7章介紹了Hive的自定義函數(shù),給出了UDF、UDTF、UDAF各自的函數(shù)實現(xiàn)方式,并給出了具體的實現(xiàn)源碼。
第8~10章給出了Hive的相關(guān)綜合案例,將之前章節(jié)的內(nèi)容通過實際案例串聯(lián)起來,達(dá)到最終應(yīng)用的目的。
本書由張鐵紅、張繼山、那銳擔(dān)任主編,林徐、孫帥、諶婧嬌、王云擔(dān)任副主編,參與編寫的還有何姍姍。本書的編寫得到北京百知教育科技有限公司和中國水利水電出版社的大力支持,在此表示感謝。
由于時間倉促,加之編者水平有限,書中難免存在不足之處,懇請讀者提出寶貴的意見和建議。
編 者
2022年5月
1.1 Hive的工作原理 1
1.2 Hive的數(shù)據(jù)類型 2
1.3 Hive的特點 3
本章小結(jié) 4
習(xí)題1 4
第2章 Hive架構(gòu) 6
2.1 Hive用戶接口 6
2.1.1 Hive CLI 6
2.1.2 HWI 7
2.1.3 Thrift服務(wù) 11
2.2 Hive元數(shù)據(jù)庫 12
2.2.1 Hive元數(shù)據(jù)表結(jié)構(gòu) 12
2.2.2 Hive元數(shù)據(jù)的三種存儲模式 13
2.3 Hive數(shù)據(jù)存儲 14
2.4 Hive文件格式 15
2.4.1 TextFile格式 15
2.4.2 SequenceFile格式 15
2.4.3 RCFile格式 15
2.4.4 ORC格式 15
本章小結(jié) 17
習(xí)題2 17
第3章 HiveQL表操作 19
3.1 內(nèi)部表 19
3.2 外部表 23
3.3 分區(qū)表 25
3.3.1 靜態(tài)分區(qū) 27
3.3.2 動態(tài)分區(qū) 28
3.4 桶表 30
3.5 視圖 32
3.5.1 使用視圖降低查詢復(fù)雜度 33
3.5.2 使用視圖來限制基于條件過濾的數(shù)據(jù) 33
3.5.3 動態(tài)分區(qū)中的視圖和map類型 34
本章小結(jié) 34
習(xí)題3 34
第4章 HiveQL數(shù)據(jù)操作 36
4.1 裝載數(shù)據(jù)到表中 36
4.2 通過查詢語句向表中插入數(shù)據(jù) 37
4.3 單個查詢語句中創(chuàng)建并加載數(shù)據(jù) 39
4.4 導(dǎo)出數(shù)據(jù) 39
本章小結(jié) 39
習(xí)題4 40
第5章 HiveQL查詢 42
5.1 select...from語句 42
5.1.1 使用正則表達(dá)式來指定列 43
5.1.2 使用列值進(jìn)行計算 43
5.1.3 算術(shù)運(yùn)算符 44
5.1.4 函數(shù) 45
5.1.5 limit語句 48
5.1.6 列別名 49
5.1.7 嵌套select語句 49
5.1.8 case...when...then語句 49
5.2 where語句 49
5.2.1 謂詞操作符 50
5.2.2 關(guān)于浮點數(shù)比較 51
5.2.3 like和rlike 52
5.3 group by語句 53
5.4 join語句 54
5.4.1 inner join 54
5.4.2 join優(yōu)化 55
5.4.3 left outer join 56
5.4.4 right outer join 56
5.4.5 full outer join 56
5.4.6 left semi join 57
5.4.7 笛卡兒積join 57
5.4.8 map-side join 58
5.5 order by和sort by 58
5.6 含有sort by的distribute by 59
5.7 cluster by 60
5.8 類型轉(zhuǎn)換 60
5.9 抽樣查詢 61
5.9.1 數(shù)據(jù)塊抽樣 61
5.9.2 分桶表的輸入裁剪 62
5.10 union all 62
本章小結(jié) 63
習(xí)題5 63
第6章 Hive配置與應(yīng)用 65
6.1 Hive安裝與配置 65
6.2 Hive訪問 68
6.3 Hive基本操作 70
6.3.1 Hive CLI命令行操作講解 70
6.3.2 Hive的數(shù)據(jù)類型 74
6.3.3 Hive表的創(chuàng)建 75
6.3.4 Hive數(shù)據(jù)導(dǎo)入 76
6.3.5 Hive數(shù)據(jù)導(dǎo)出 78
6.4 Hive數(shù)據(jù)定義 80
6.4.1 內(nèi)部表與外部表的區(qū)別 80
6.4.2 內(nèi)部表的創(chuàng)建 80
6.4.3 外部表的創(chuàng)建 82
6.4.4 表的分區(qū)與桶的建立 83
6.4.5 刪除表與修改表結(jié)構(gòu) 89
6.4.6 HiveQL簡單查詢語句 90
6.4.7 where語句 93
6.5 Hive高級查詢 93
本章小結(jié) 99
習(xí)題6 100
第7章 Hive自定義函數(shù) 102
7.1 UDF 102
7.2 UDTF 105
7.3 UDAF 107
7.4 Hive函數(shù)綜合案例 112
7.4.1 Row_Sequence實現(xiàn)列自增長 112
7.4.2 列轉(zhuǎn)行和行轉(zhuǎn)列 113
本章小結(jié) 116
習(xí)題7 116
第8章 Hive綜合案例(一) 118
8.1 項目背景與數(shù)據(jù)情況 118
8.2 關(guān)鍵績效指標(biāo) 119
8.3 開發(fā)步驟分析 120
8.4 表結(jié)構(gòu)設(shè)計 120
8.5 數(shù)據(jù)清洗過程 121
8.5.1 定期上傳日志至HDFS 121
8.5.2 編寫MapReduce程序清理日志 122
8.5.3 定期清理日志至HDFS 124
8.5.4 查詢清洗前后的數(shù)據(jù) 124
8.6 數(shù)據(jù)統(tǒng)計分析 125
8.6.1 借助Hive進(jìn)行統(tǒng)計 125
8.6.2 使用HiveQL統(tǒng)計關(guān)鍵指標(biāo) 125
本章小結(jié) 126
第9章 Hive綜合案例(二) 127
9.1 項目應(yīng)用場景 127
9.2 設(shè)計與實現(xiàn) 127
9.2.1 日志格式分析 127
9.2.2 建立表 127
9.2.3 程序設(shè)計 128
9.2.4 編碼實現(xiàn) 129
9.2.5 運(yùn)行并測試 130
本章小結(jié) 131
第10章 Hive綜合案例(三) 132
10.1 應(yīng)用場景 132
10.2 設(shè)計與實現(xiàn) 132
10.2.1 數(shù)據(jù)處理 132
10.2.2 使用Hive對清洗后的數(shù)據(jù)進(jìn)行多維分析 134
10.2.3 在MySQL中建立數(shù)據(jù)庫 137
10.2.4 使用Sqoop把分析結(jié)果導(dǎo)入到 MySQL中 138
10.2.5 程序設(shè)計與實現(xiàn) 139
10.2.6 運(yùn)行并測試 139
本章小結(jié) 140
附錄1 部分類代碼 141
附錄2 MySQL安裝 153
- 輸水管線工程風(fēng)險管理 [張勇 黨亥生 著]
- 民用航空飛機(jī)標(biāo)準(zhǔn)線路施工 [主編 王志敏 陳明]
- 不息的水脈—大運(yùn)河講談錄 [趙珩 著]
- 實用運(yùn)籌學(xué) [主編 邢育紅 于晉臣]
- 三峽梯級電站水資源決策支持系統(tǒng)研究與開發(fā) [姚華明 潘紅忠 湯正]
- 海南黎族民俗文化鑒賞 [龐國華 著]
- 石墨烯在太赫茲及中紅外頻段電磁器件設(shè)計中的應(yīng)用 [李艷秀 莊華偉 著]
- 電子技術(shù)(第二版) [主編 覃愛娜 李飛]
- 辦公自動化高級應(yīng)用 [陳萍 朱曉玉]
- 信息處理技術(shù)員考試32小時通關(guān) [薛大龍]
- 電子產(chǎn)品設(shè)計案例教程(微課版)—基于嘉立創(chuàng)EDA(專業(yè)版) [王靜 莫志宏 陳學(xué)昌 丁紅]
- C程序設(shè)計實踐教程 [劉衛(wèi)國]
- C程序設(shè)計(慕課版) [劉衛(wèi)國]
- Web技術(shù)開發(fā)教程(基于.NET開源MVC框架) [王合闖 韓紅玲 王青正 陳海蕊]
- 商務(wù)英語翻譯教程(筆譯)(第四版) [主編 王軍平]
- 智慧零售技術(shù)與應(yīng)用 [洪旭 著]
- 建設(shè)工程法規(guī)實務(wù) [主編 余瀅]
- 商務(wù)秘書理論與實務(wù)(第三版) [主編 張同欽]
- 程序設(shè)計基礎(chǔ)實踐教程(C/C++語言版) [張桂芬 葛麗娜]
- C++案例項目精講 [主編 楊國興]
- 勞動爭議處理實務(wù) [主編 王秀卿 羅靜]
- 工程數(shù)學(xué) [主編 郭立娟 王海]
- 語音識別理論與實踐 [主編 莫宏偉]
- 信息系統(tǒng)項目管理師章節(jié)習(xí)題與考點特訓(xùn)(第二版) [主編 薛大龍]
- 武術(shù)基礎(chǔ)教程 [主編 李代勇 謝志民]
- 計算機(jī)網(wǎng)絡(luò)實訓(xùn)教程 [主編 張浩軍 趙玉娟]
- 畫法幾何與機(jī)械制圖習(xí)題集(多學(xué)時) [主編 趙軍]
- HCIA-Datacom認(rèn)證題庫分類精講 [主 編 韓立剛]
- SwiftUI完全開發(fā) [李智威 著]
- 網(wǎng)絡(luò)規(guī)劃設(shè)計師備考一本通 [夏杰 編著]
- 大數(shù)據(jù)技術(shù)導(dǎo)論
- HBase分布式存儲系統(tǒng)應(yīng)用(第二版)
- Hive編程技術(shù)與應(yīng)用(第二版)
- Python 語言程序設(shè)計實踐指導(dǎo)
- Spark大數(shù)據(jù)處理技術(shù)
- 數(shù)據(jù)清洗
- R語言基礎(chǔ)及應(yīng)用
- 數(shù)據(jù)庫原理及應(yīng)用(MySQL版)
- 大數(shù)據(jù)導(dǎo)論
- 大數(shù)據(jù)可視化技術(shù)
- Python語言程序設(shè)計
- Java編程基礎(chǔ)
- Java編程基礎(chǔ)實踐指導(dǎo)
- 深度學(xué)習(xí)—卷積神經(jīng)網(wǎng)絡(luò)算法原理與應(yīng)用
- Hive編程技術(shù)與應(yīng)用
- HBase分布式存儲系統(tǒng)應(yīng)用