Hive編程技術(shù)與應(yīng)用
-
【作 者】孫帥 王美佳
【I S B N 】978-7-5170-6914-0
【責任編輯】張玉玲
【適用讀者群】本專通用
【出版時間】2018-10-15
【開 本】16開
【裝幀信息】平裝(光膜)
【版 次】第1版第1次印刷
【頁 數(shù)】160
【千字數(shù)】242
【印 張】10
【定 價】¥28
【叢 書】普通高等教育數(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章:前6章系統(tǒng)講解Hive工作原理、特點,Hive架構(gòu),HiveQL表操作,HiveQL數(shù)據(jù)操作,HiveQL查詢,Hive安裝與配置,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)教材。
本書詳細介紹了Hive 的基本架構(gòu),系統(tǒng)講解了Hive 編程技術(shù);精心安排了Hive 的原理分析、架構(gòu)特點、環(huán)境搭建、HiveQL 使用等內(nèi)容。全書內(nèi)容豐富、重點突出、簡明易懂,突出理論與案例相結(jié)合的形式,章節(jié)設(shè)計循序漸進、深入淺出。
現(xiàn)在是大數(shù)據(jù)時代,我們正以前所未有的速度和規(guī)模產(chǎn)生數(shù)據(jù)。數(shù)據(jù)資產(chǎn)正在成為與土地、資本、人力并駕齊驅(qū)的關(guān)鍵生產(chǎn)要素,并在社會、經(jīng)濟、科學(xué)研究等方面顛覆人們探索世界的方法、驅(qū)動產(chǎn)業(yè)間的融合與分立。大數(shù)據(jù)是用來描述數(shù)據(jù)規(guī)模巨大、數(shù)據(jù)類型復(fù)雜的數(shù)據(jù)集,它本身蘊含著豐富的價值。對這些數(shù)據(jù)的分析處理促進了許多優(yōu)秀的海量數(shù)據(jù)分析平臺的產(chǎn)生,Hadoop平臺就是當前最為主流的一款。
Hive是Hadoop生態(tài)系統(tǒng)中必不可少的一個工具,它提供了一種SQL語言,可以查詢存儲在HDFS中的數(shù)據(jù)或者其他Hadoop支持的文件系統(tǒng),如MapR-FS、Amazon S3、HBase和Cassandra。Hive降低了應(yīng)用程序遷移到Hadoop集群的復(fù)雜度,掌握SQL語句的開發(fā)人員可以輕松地學(xué)習(xí)并使用Hive。
本書共分10章,其中不僅有詳細的理論講解,還有大量的實戰(zhàn)操作。具體內(nèi)容如下:
第1章首先介紹了Hive的基本工作原理及HiveQL語句在Hive中執(zhí)行的具體流程;其次介紹了Hive中的數(shù)據(jù)類型,主要包括原子數(shù)據(jù)類型和復(fù)雜數(shù)據(jù)類型;最后給出了Hive的設(shè)計特點。
第2章詳細介紹了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)起來,達到最終應(yīng)用的目的。
本書由孫帥、王美佳任主編。其中第1~2章由孫帥編寫,第3~6章由王美佳編寫,第7章由李紫薇編寫,第8章由鄒先鋒編寫,第9章由張美娟編寫,第10章由臧紅久編寫。本書的編寫得到北京百知教育科技有限公司的大力支持,在此表示感謝。
由于時間倉促,加之編者水平有限,本書難免存在不足之處,懇請讀者對本書提出寶貴的意見和建議。
編 者
2018年5月
1.1 Hive工作原理 1
1.2 Hive的數(shù)據(jù)類型 2
1.3 Hive的特點 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ù)庫 11
2.2.1 Hive元數(shù)據(jù)表結(jié)構(gòu) 11
2.2.2 Hive元數(shù)據(jù)的三種存儲模式 12
2.3 Hive數(shù)據(jù)存儲 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 動態(tài)分區(qū) 27
3.4 桶表 28
3.5 視圖 30
3.5.1 使用視圖降低查詢復(fù)雜度 31
3.5.2 使用視圖來限制基于條件過濾
的數(shù)據(jù) 32
3.5.3 動態(tài)分區(qū)中的視圖和map類型 32
3.6 本章小結(jié) 33
第4章 HiveQL數(shù)據(jù)操作 34
4.1 裝載數(shù)據(jù)到表中 34
4.2 通過查詢語句向表中插入數(shù)據(jù) 35
4.3 單個查詢語句中創(chuàng)建并加載數(shù)據(jù) 37
4.4 導(dǎo)出數(shù)據(jù) 37
4.5 本章小結(jié) 38
第5章 HiveQL查詢 39
5.1 SELECT…FROM語句 39
5.1.1 使用正則表達式來指定列的 40
5.1.2 使用列值進行計算 41
5.1.3 算述運算符 41
5.1.4 使用函數(shù) 42
5.1.5 LIMIT語句 46
5.1.6 列別名 46
5.1.7 嵌套SELECT語句 46
5.1.8 CASE…WHEN…THEN語句 46
5.2 WHERE語句 47
5.2.1 謂詞操作符 48
5.2.2 關(guān)于浮點數(shù)比較 49
5.2.3 LIKE和RLIKE 50
5.3 GROUP BY語句 50
5.4 JOIN語句 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訪問 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簡單查詢語句 88
6.4.7 WHERE語句 91
6.5 Hive高級查詢 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實現(xiàn)列自增長 109
7.4.2 列轉(zhuǎn)行和行轉(zhuǎn)列 111
7.5 本章小結(jié) 114
第8章 Hive綜合案例(一) 115
8.1 項目背景與數(shù)據(jù)情況 115
8.2 關(guān)鍵指標KPI 116
8.3 開發(fā)步驟分析 116
8.4 表結(jié)構(gòu)設(shè)計 117
8.5 數(shù)據(jù)清洗過程 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)計分析 122
8.6.1 借助Hive進行統(tǒng)計 122
8.6.2 使用HiveQL統(tǒng)計關(guān)鍵指標 123
8.7 本章小結(jié) 124
第9章 Hive綜合案例(二) 125
9.1 項目應(yīng)用場景 125
9.2 設(shè)計與實現(xiàn) 125
9.2.1 日志格式分析 125
9.2.2 建立表 125
9.2.3 程序設(shè)計 126
9.2.4 編碼實現(xiàn) 127
9.2.5 運行并測試 129
9.3 本章小結(jié) 129
第10章 Hive綜合案例(三) 130
10.1 應(yīng)用場景 130
10.2 設(shè)計與實現(xiàn) 130
10.2.1 數(shù)據(jù)處理 130
10.2.2 使用Hive對清洗后的數(shù)據(jù)進行
多維分析 132
10.2.3 在MySQL中建立數(shù)據(jù)庫 136
10.2.4 使用sqoop把分析結(jié)果導(dǎo)入到
MySQL中 136
10.2.5 程序設(shè)計與實現(xiàn) 138
10.2.6 運行并測試 138
10.3 本章總結(jié) 139
附錄 140
- 輸水管線工程風(fēng)險管理 [張勇 黨亥生 著]
- 民用航空飛機標準線路施工 [主編 王志敏 陳明]
- 不息的水脈—大運河講談錄 [趙珩 著]
- 實用運籌學(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ǔ)教程 [主編 李代勇 謝志民]
- 計算機網(wǎng)絡(luò)實訓(xùn)教程 [主編 張浩軍 趙玉娟]
- 畫法幾何與機械制圖習(xí)題集(多學(xué)時) [主編 趙軍]
- HCIA-Datacom認證題庫分類精講 [主 編 韓立剛]
- 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)用