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