Hive性能調優實戰 版權信息
- ISBN:9787111644323
- 條形碼:9787111644323 ; 978-7-111-64432-3
- 裝幀:平裝-膠訂
- 冊數:暫無
- 重量:暫無
- 所屬分類:>>
Hive性能調優實戰 本書特色
《Hive性能調優實戰》旨在介紹如何進行Hive性能調優,以及調優時所涉及的工具。書中重點介紹了Hive性能調優所涉及的Hadoop組件和Hive工具。考慮到很多調優方法的著眼點有一定的相似性,這些調優方法可以適用于多個Hive版本,所以《Hive性能調優實戰》在介紹Hive的相關內容時會穿插Hive 1.x、Hive 2.x及Hive 3.x等多個版本的內容。
《Hive性能調優實戰》共11章,涵蓋的內容如下:
舉例感受Hive性能調優的多樣性
Hive問題排查與調優思路
環境搭建
Hive及其相關大數據組件
深入MapReduce計算引擎
Hive SQL執行計劃《Hive性能調優實戰》旨在介紹如何進行Hive性能調優,以及調優時所涉及的工具。書中重點介紹了Hive性能調優所涉及的Hadoop組件和Hive工具。考慮到很多調優方法的著眼點有一定的相似性,這些調優方法可以適用于多個Hive版本,所以《Hive性能調優實戰》在介紹Hive的相關內容時會穿插Hive 1.x、Hive 2.x及Hive 3.x等多個版本的內容。
《Hive性能調優實戰》共11章,涵蓋的內容如下:舉例感受Hive性能調優的多樣性
Hive問題排查與調優思路
環境搭建
Hive及其相關大數據組件
深入MapReduce計算引擎
Hive SQL執行計劃
Hive數據處理模式
YARN日志
數據存儲
發現并優化Hive中的性能問題
Hive知識體系總結《Hive性能調優實戰》內容實用,非常適合對大數據技術感興趣的讀者閱讀,尤其是Hive進階讀者。另外,《Hive性能調優實戰》還適合IT培訓機構的大數據培訓學員和高校相關專業的學生閱讀。
Hive性能調優實戰 內容簡介
本書是一本關于Apache Hive調優的書籍,旨在介紹如何進行Hive的調優,以及調優時如果使用的工具。本書在*開始會介紹Hive優化多面性,以及如何在眾多的調優技巧中尋找一條調優的思路。接著介紹Hive安裝,為了方便讀者的練習,我們主要介紹Docker安裝Hive的方式和使用cloudera提供工具Hive的方式。介紹完安裝Hive方式,我們會繼續介紹Hive在優化時涉及的Hadoop組件和Hive工具。*后會介紹如何監控Hive在運行時出現性能問題。本書適合對大數據開發感興趣的愛好者、對Hive優化有興趣的人員使用。
Hive性能調優實戰 目錄
第1章 舉例感受Hive性能調優的多樣性 1
1.1 感受改寫SQL對性能的影響 1
1.1.1 數據準備 1
1.1.2 union案例 4
1.1.3 改寫SQL實現union的優化 5
1.1.4 失敗的union調優 8
1.2 感受調整數據塊大小對性能的影響 10
1.2.1 數據準備 11
1.2.2 案例比較 11
1.3 感受不同數據格式對性能的提升 15
1.3.1 數據準備 15
1.3.2 案例比較 16
1.4 感受不同的表設計對性能的影響 18
1.4.1 數據準備 19
1.4.2 案例比較 21
1.5 調優其實不難 24
第2章 Hive問題排查與調優思路 25
2.1 小白推演Hive的優化方法 25
2.1.1 類比關系型數據庫的調優 25
2.1.2 學習大數據分布式計算的基本原理 28
2.1.3 學習使用YARN提供的日志 31
2.1.4 干預SQL的運行方式 33
2.2 老工對Hive的調優理解 36
2.2.1 從一個過度優化案例說起 36
2.2.2 編碼和調優的原則 43
2.2.3 Hive程序相關規范 49
2.3 總結調優的一般性過程 51
第3章 環境搭建 53
3.1 Docker基礎 53
3.1.1 Docker介紹 54
3.1.2 安裝Docker 56
3.1.3 常見的Docker使用與管理命令 58
3.1.4 使用Dockerfile構建服務鏡像 60
3.1.5 Dockerfile語法 63
3.2 Cloudera Docker搭建偽分布式環境 66
3.3 Docker搭建分布式集群 68
3.3.1 構建JDK鏡像 69
3.3.2 構建Hadoop鏡像 70
3.3.3 構建Hive鏡像 72
3.3.4 啟動集群 73
3.4 CDM搭建分布式集群 75
3.4.1 Cloudera Manager組件 75
3.4.2 Docker構建軟件安裝內部源 76
3.4.3 CDM安裝分布式集群 79
3.5 使用GitHub開源項目構建集群 87
第4章 Hive及其相關大數據組件 89
4.1 Hive架構 89
4.1.1 Hive 1.x版本基本結構 89
4.1.2 Hive元數據 91
4.2 YARN組件 97
4.2.1 YARN的優點 97
4.2.2 YARN基本組成 97
4.2.3 YARN工作流程 99
4.2.4 YARN資源調度器 100
4.3 HDFS架構 102
4.3.1 常見HDFS優化 102
4.3.2 HDFS基本架構和讀寫流程 103
4.3.3 HDFS高可用架構 105
4.3.4 NameNode聯盟 107
4.4 計算引擎 109
4.4.1 MapReduce計算引擎 109
4.4.2 Tez計算引擎 111
4.4.3 LLAP長時在線與處理程序 113
4.4.4 Spark計算引擎 115
第5章 深入MapReduce計算引擎 117
5.1 MapReduce整體處理過程 117
5.2 MapReduce作業輸入 118
5.2.1 輸入格式類InputFormat 118
5.2.2 InputFormat在Hive中的使用 120
5.3 MapReduce的Mapper 121
5.3.1 Mapper類 121
5.3.2 Hive中與Mapper相關的配置 123
5.4 MapReduce的Reducer 125
5.4.1 Reducer類 126
5.4.2 Hive中與Reducer相關的配置 127
5.5 MapReduce的Shuffle 128
5.6 MapReduce的Map端聚合 129
5.6.1 Combiner類 129
5.6.2 Map端的聚合與Hive配置 130
5.7 MapReduce作業輸出 131
5.7.1 OutputFormat作業輸出 132
5.7.2 Hive配置與作業輸出 133
5.8 MapReduce作業與Hive配置 134
5.9 MapReduce與Tez對比 135
5.9.1 通過案例代碼對比MapReduce和Tez 135
5.9.2 Hive中Tez和LLAP相關的配置 141
第6章 HiveSQL執行計劃 143
6.1 查看SQL的執行計劃 143
6.1.1 查看執行計劃的基本信息 144
6.1.2 查看執行計劃的擴展信息 148
6.1.3 查看SQL數據輸入依賴的信息 148
6.1.4 查看SQL操作涉及的相關權限信息 152
6.1.5 查看SQL的向量化描述信息 152
6.2 簡單SQL的執行計劃解讀 158
6.3 帶普通函數/操作符SQL的執行計劃解讀 161
6.3.1 執行計劃解讀 161
6.3.2 普通函數和操作符 162
6.4 帶聚合函數的SQL執行計劃解讀 164
6.4.1 在Reduce階段聚合的SQL 164
6.4.2 在Map和Reduce階段聚合的SQL 167
6.4.3 高級分組聚合 169
6.5 帶窗口/分析函數的SQL執行計劃解讀 172
6.6 表連接的SQL執行計劃解讀 175
6.6.1 Hive表連接的類型 175
6.6.2 內連接和外連接 176
6.6.3 左半連接 178
第7章 Hive數據處理模式 181
7.1 過濾模式 181
7.1.1 where子句過濾模式 182
7.1.2 having子句過濾 183
7.1.3 distinct子句過濾 184
7.1.4 表過濾 186
7.1.5 分區過濾 188
7.1.6 分桶過濾 189
7.1.7 索引過濾 191
7.1.8 列過濾 191
7.2 聚合模式 192
7.2.1 distinct模式 193
7.2.2 count(列)、count(*)、count(1)行計數聚合模式 194
7.2.3 可計算中間結果的聚合模式 197
7.2.4 不可計算中間結果的聚合模式 199
7.3 連接模式 200
7.3.1 普通Map連接 201
7.3.2 桶的Map連接和排序合并桶的Map連接 207
7.3.3 傾斜連接 209
7.3.4 表連接與基于成本的優化器 210
第8章 YARN日志 212
8.1 查看YARN日志的方式 212
8.1.1 ResourceManager Web UI界面 212
8.1.2 JobHistory Web UI界面 215
8.2 快速查看集群概況 216
8.2.1 Cluster Metrics集群度量指標 217
8.2.2 Cluster Node Metrics集群節點的度量信息 218
8.2.3 Cluster Overview集群概況 220
8.3 查看集群節點概況 221
8.3.1 節點列表概況 221
8.3.2 節點詳細信息 223
8.3.3 節點作業信息 224
8.4 查看集群的隊列調度情況 226
8.5 查看集群作業運行信息 230
8.5.1 集群作業運行狀態 230
8.5.2 查看作業運行的基本信息 231
8.5.3 查看作業計數器 232
第9章 數據存儲 236
9.1 文件存儲格式之Apache ORC 236
9.1.1 ORC的結構 237
9.1.2 ORC的數據類型 238
9.1.3 ACID事務的支持 240
9.2 與ORC相關的Hive配置 241
9.2.1 表配置屬性 241
9.2.2 Hive表的配置屬性 241
9.3 文件存儲格式之Apache Parquet 242
9.3.1 Parquet基本結構 243
9.3.2 Parquet的相關配置 245
9.4 數據歸檔 245
第10章 發現并優化Hive中的性能問題 247
10.1 監控Hive數據庫的狀態 247
10.2 監控當前集群狀態 253
10.3 定位性能瓶頸 258
10.3.1 使用HS2 WebUI排除非大數據組件的問題 258
10.3.2 排查長時等待調度 260
10.3.3 Map任務讀取小文件和大文件 261
10.3.4 Reduce的數據傾斜 262
10.3.5 緩慢的Shuffle 264
10.3.6 集群資源的限制 265
10.4 數據傾斜 266
10.4.1 不可拆分大文件引發的數據傾斜 266
10.4.2 業務無關的數據引發的數據傾斜 267
10.4.3 多維聚合計算數據膨脹引起的數據傾斜 268
10.4.4 無法削減中間結果的數據量引發的數據傾斜 268
10.4.5 兩個Hive數據表連接時引發的數據傾斜 269
第11章 Hive知識體系總結 270
11.1 Hive知識體系 270
11.2 數據粒度 271
11.3 SQL相關 275
11.3.1 select查詢語句 276
11.3.2 數據定義語言(DDL) 276
11.3.3 數據控制語言(DML) 279
11.3.4 用戶自定義函數(UDF) 280
11.4 文件操作 281
展開全部
Hive性能調優實戰 相關資料
市面上講大數據技術的書很多,有些過于基礎,有些又太理論化,實操價值不高。志煌的這本新書以Hive性能調優為主題,很實用,非常有價值,而且又能從Hadoop生態的整體視角來闡述和解決問題,填補了Hive性能調優類圖書的空白。志煌長期在一線參與實際項目,其作品是他多年實戰經驗的總結,強烈推薦大數據行業的從業者閱讀。
——進化星球CEO/百度無線搜索前負責人 胡嵩
志煌是一個對技術有著執著信念的人,很善于將一個問題“掰開揉碎”并由淺入深地講述清楚。《Hive性能調優實戰》就是這樣一本可以讓讀者很容易理解的Hive性能調優圖書,是一本不可多得的好書。《Hive性能調優實戰》創造性地從Hadoop的全局告訴讀者應該怎樣做才能讓Hive“更好玩”,特別適合正在學習Hive或正在用Hive做大數據分析的人員閱讀。
——平安科技大數據平臺數據集中組負責人 李釗
《Hive性能調優實戰》系統地介紹了Hive性能調優的相關知識,書中在用實例講解調優的同時,還特別注重方法論的總結和學習能力的培養,非常值得大數據技術愛好者閱讀。
——字節跳動算法團隊技術總監 丁銳
《Hive性能調優實戰》結合作者多年的Hive調優經驗,深入淺出地描述了Hive性能調優的理論基礎和實踐流程,相信能對你在Hive性能調優的思路上有所啟發和幫助。
——聚信網絡技術總監/百度91前高級技術總監 陳興柏
這本書所介紹的Hive性能調優思路有點意思。作者首先帶領讀者梳理了Hive的技術生態和調優所需的基礎理論,然后對Hive的技術棧進行了解剖,并對Hive性能調優做了介紹,有點有面,點面結合。贊!
——百度91無線數據組前負責人 林艷強
《Hive性能調優實戰》由淺入深地介紹了Hive參與大數據系統的全過程。書中通過理論和實踐相結合的方式,總結了Hive性能調優的方法和實用技巧,給使用Hive進行性能調優的人提供了一條學習的捷徑,非常值得一讀。
——無覓科技技術負責人 周宏斐
Hive性能調優實戰 作者簡介
林志煌 曾在中國互聯網頭部公司長期從事大數據相關項目的研發。擅長并能夠熟練使用Hive、MapReduce和Spark等大數據相關技術。經手過日數據流量TB級別和總量PB級別的Hadoop大數據平臺建設。從事過數據采集、數據清洗、數據倉庫模型構建及數據產品研發等工作,涵蓋了數據生命周期的主要階段。