Hive編程技術與應用
-
【作 者】孫帥 王美佳
【I S B N 】978-7-5170-6914-0
【責任編輯】張玉玲
【適用讀者群】本專通用
【出版時間】2018-10-15
【開 本】16開
【裝幀信息】平裝(光膜)
【版 次】第1版第1次印刷
【頁 數】160
【千字數】242
【印 張】10
【定 價】¥28
【叢 書】普通高等教育數據科學與大數據技術專業教材
【備注信息】
簡介
本書特色
前言
章節列表
精彩閱讀
下載資源
相關圖書
本書通過原理加案例的方式系統地講解了Hive編程技術,使讀者能夠全面地了解使用Hive的開發流程。書中精心安排了Hive的原理分析、架構特點、環境搭建、HiveQL使用等內容,給出了大量的開發案例及其開發過程,使讀者對Hive開發有直觀的印象。
全書共10章:前6章系統講解Hive工作原理、特點,Hive架構,HiveQL表操作,HiveQL數據操作,HiveQL查詢,Hive安裝與配置,Hive自定義函數;第8~10章是綜合案例部分,通過案例幫助讀者掌握整個大數據項目的開發流程,包括數據清洗、數據處理、數據導入導出。本書知識結構簡單明了,案例生動具體,內容設計新穎,思路清晰。
本書不僅可作為普通高校大數據相關專業的教材,也可以作為想繼續深入了解大數據編程的讀者的參考書,還可作為各類相關培訓班的培訓教材。
本書詳細介紹了Hive 的基本架構,系統講解了Hive 編程技術;精心安排了Hive 的原理分析、架構特點、環境搭建、HiveQL 使用等內容。全書內容豐富、重點突出、簡明易懂,突出理論與案例相結合的形式,章節設計循序漸進、深入淺出。
現在是大數據時代,我們正以前所未有的速度和規模產生數據。數據資產正在成為與土地、資本、人力并駕齊驅的關鍵生產要素,并在社會、經濟、科學研究等方面顛覆人們探索世界的方法、驅動產業間的融合與分立。大數據是用來描述數據規模巨大、數據類型復雜的數據集,它本身蘊含著豐富的價值。對這些數據的分析處理促進了許多優秀的海量數據分析平臺的產生,Hadoop平臺就是當前最為主流的一款。
Hive是Hadoop生態系統中必不可少的一個工具,它提供了一種SQL語言,可以查詢存儲在HDFS中的數據或者其他Hadoop支持的文件系統,如MapR-FS、Amazon S3、HBase和Cassandra。Hive降低了應用程序遷移到Hadoop集群的復雜度,掌握SQL語句的開發人員可以輕松地學習并使用Hive。
本書共分10章,其中不僅有詳細的理論講解,還有大量的實戰操作。具體內容如下:
第1章首先介紹了Hive的基本工作原理及HiveQL語句在Hive中執行的具體流程;其次介紹了Hive中的數據類型,主要包括原子數據類型和復雜數據類型;最后給出了Hive的設計特點。
第2章詳細介紹了Hive的基本架構,主要包括Hive的相關用戶接口、Hive元數據庫中的表結構和三種存儲方式、Hive數據存儲中的相關概念、Hive中文件格式的不同特性和區別。
第3章講解了HiveQL的相關表操作。
第4章描述了HiveQL的相關數據操作,主要包括數據的導入和導出。
第5章講解了HiveQL的查詢語句中的不同語法和使用方式。
第6章講解了Hive的完整安裝過程。在此基礎上給出Hive的不同訪問方式,并基于Hive CLI方式給出相關操作的介紹,同時給出Hive數據定義的相關操作。
第7章介紹了Hive的自定義函數,給出了UDF、UDTF、UDAF各自的函數實現方式,并給出了具體的實現源碼。
第8~10章給出了Hive的相關綜合案例,將之前章節的內容通過實際案例串聯起來,達到最終應用的目的。
本書由孫帥、王美佳任主編。其中第1~2章由孫帥編寫,第3~6章由王美佳編寫,第7章由李紫薇編寫,第8章由鄒先鋒編寫,第9章由張美娟編寫,第10章由臧紅久編寫。本書的編寫得到北京百知教育科技有限公司的大力支持,在此表示感謝。
由于時間倉促,加之編者水平有限,本書難免存在不足之處,懇請讀者對本書提出寶貴的意見和建議。
編 者
2018年5月
1.1 Hive工作原理 1
1.2 Hive的數據類型 2
1.3 Hive的特點 4
1.4 本章小結 4
第2章 Hive架構 5
2.1 Hive用戶接口 5
2.1.1 Hive CLI 5
2.1.2 HWI 6
2.1.3 Thrift服務 10
2.2 Hive元數據庫 11
2.2.1 Hive元數據表結構 11
2.2.2 Hive元數據的三種存儲模式 12
2.3 Hive數據存儲 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 本章小結 16
第3章 HiveQL表操作 17
3.1 內部表 17
3.2 外部表 21
3.3 分區表 23
3.3.1 靜態分區 25
3.3.2 動態分區 27
3.4 桶表 28
3.5 視圖 30
3.5.1 使用視圖降低查詢復雜度 31
3.5.2 使用視圖來限制基于條件過濾
的數據 32
3.5.3 動態分區中的視圖和map類型 32
3.6 本章小結 33
第4章 HiveQL數據操作 34
4.1 裝載數據到表中 34
4.2 通過查詢語句向表中插入數據 35
4.3 單個查詢語句中創建并加載數據 37
4.4 導出數據 37
4.5 本章小結 38
第5章 HiveQL查詢 39
5.1 SELECT…FROM語句 39
5.1.1 使用正則表達式來指定列的 40
5.1.2 使用列值進行計算 41
5.1.3 算述運算符 41
5.1.4 使用函數 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 關于浮點數比較 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優化 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 類型轉換 58
5.9 抽樣查詢 58
5.9.1 數據塊抽樣 59
5.9.2 分桶表的輸入裁剪 59
5.10 UNION ALL 60
5.11 本章小結 61
第6章 Hive配置與應用 62
6.1 Hive安裝與配置 62
6.2 Hive訪問 65
6.3 Hive基本操作 67
6.3.1 Hive CLI命令行操作講解 67
6.3.2 Hive的數據類型 71
6.3.3 Hive表的創建 73
6.3.4 Hive數據導入 74
6.3.5 Hive數據導出 76
6.4 Hive數據定義 77
6.4.1 內部表與外部表的區別 77
6.4.2 內部表建立 77
6.4.3 外部表建立 79
6.4.4 表的分區與桶的建立 81
6.4.5 刪除表與修改表結構 87
6.4.6 HiveQL簡單查詢語句 88
6.4.7 WHERE語句 91
6.5 Hive高級查詢 91
6.6 本章小結 98
第7章 Hive自定義函數 99
7.1 UDF 99
7.2 UDTF 102
7.3 UDAF 105
7.4 Hive函數綜合案例 109
7.4.1 Row_Sequence實現列自增長 109
7.4.2 列轉行和行轉列 111
7.5 本章小結 114
第8章 Hive綜合案例(一) 115
8.1 項目背景與數據情況 115
8.2 關鍵指標KPI 116
8.3 開發步驟分析 116
8.4 表結構設計 117
8.5 數據清洗過程 118
8.5.1 定期上傳日志至HDFS 118
8.5.2 編寫MapReduce程序清理日志 119
8.5.3 定期清理日志至HDFS 121
8.5.4 查詢清洗前后的數據 122
8.6 數據統計分析 122
8.6.1 借助Hive進行統計 122
8.6.2 使用HiveQL統計關鍵指標 123
8.7 本章小結 124
第9章 Hive綜合案例(二) 125
9.1 項目應用場景 125
9.2 設計與實現 125
9.2.1 日志格式分析 125
9.2.2 建立表 125
9.2.3 程序設計 126
9.2.4 編碼實現 127
9.2.5 運行并測試 129
9.3 本章小結 129
第10章 Hive綜合案例(三) 130
10.1 應用場景 130
10.2 設計與實現 130
10.2.1 數據處理 130
10.2.2 使用Hive對清洗后的數據進行
多維分析 132
10.2.3 在MySQL中建立數據庫 136
10.2.4 使用sqoop把分析結果導入到
MySQL中 136
10.2.5 程序設計與實現 138
10.2.6 運行并測試 138
10.3 本章總結 139
附錄 140
- 機械制圖 [許淑珍 于利民]
- 微積分(經管類)導學篇(下冊) [王海棠 曹海軍 周玲麗]
- 大學生創新創業基礎 [主編 姜國權 姜福佳]
- 農產品云倉模式研究—以北京農產品流通物流供應鏈重構為例 [武曉釗 王成林 王春娟 等著]
- 信息技術(微課版) [王云 徐江鴻 李清霞 羅學鋒 ]
- 管理基礎與實務 [主編 王鳳基 顏漢軍]
- 高等數學導學篇(下冊) [主編 李文婧 胡雷 尹金生]
- 高等數學導學篇(上冊) [主編 李文婧 胡雷 尹金生]
- 高等數學(下冊) [主編 李愛芹 胡雷 尹金生]
- 高等數學(上冊) [主編 李愛芹 胡雷 尹金生]
- 庭院風骨—樹、灌、籬 [創意房主 著]
- Python語言程序設計教程 [郭其標 房宜汕]
- 微積分(經管類)教程篇(下冊) [曹海軍 王海棠 周玲麗]
- 微積分(經管類)教程篇(上冊) [曹海軍 王海棠 周玲麗]
- 微積分(經管類)導學篇(上冊) [王海棠 曹海軍 周玲麗]
- 網站前端技術案例教程(HTML+CSS+JavaScript)(第二版) [黃華升]
- 線性代數 [主編 史昱 陳鳳欣]
- 電力電子技術課程學習及實驗指導 [主編 陳榮]
- 成長對話:青春的榜樣 [主編 施端銀 黃武剛 應巨林]
- 人工智能應用基礎 [主編 楊纓 李佳]
- 中華水文化(慕課版)(第二版) [畢雪燕 楊華軻 羅玲誼 等編著]
- 電路與電子技術Ⅱ——電路分析基礎 [主編 陳曉 金哲]
- 飛機維修專業英語——飛機系統(第二版) [趙迎春]
- 英語大爆炸:跟趣味情景劇學口語(微課版) [秦然 編著]
- 機械工程制圖任務跟蹤訓練 [主編 王瑞清 趙金考 周彥云 ]
- 機械工程制圖 [主編 覃國萍 劉百順 禹晨]
- 平面設計與制作項目化教程 [主編 李晨]
- 后期影像剪輯技術 [主編 郭建偉]
- 人工智能概論(第二版) [主編 任云暉 丁紅 徐迎春 ]
- 信息時代美育之道 [主編 劉宏宇 黎婭]