注冊 | 登錄讀書好,好讀書,讀好書!
讀書網(wǎng)-DuShu.com
當前位置: 首頁出版圖書科學技術計算機/網(wǎng)絡網(wǎng)絡與數(shù)據(jù)通信網(wǎng)絡服務Hive性能調(diào)優(yōu)實戰(zhàn)

Hive性能調(diào)優(yōu)實戰(zhàn)

Hive性能調(diào)優(yōu)實戰(zhàn)

定 價:¥89.00

作 者: 林志煌
出版社: 機械工業(yè)出版社
叢編項:
標 簽: 暫缺

ISBN: 9787111644323 出版時間: 2019-12-01 包裝:
開本: 16開 頁數(shù): 296 字數(shù):  

內(nèi)容簡介

  《Hive性能調(diào)優(yōu)實戰(zhàn)》旨在介紹如何進行Hive性能調(diào)優(yōu),以及調(diào)優(yōu)時所涉及的工具。書中重點介紹了Hive性能調(diào)優(yōu)所涉及的Hadoop組件和Hive工具??紤]到很多調(diào)優(yōu)方法的著眼點有一定的相似性,這些調(diào)優(yōu)方法可以適用于多個Hive版本,所以《Hive性能調(diào)優(yōu)實戰(zhàn)》在介紹Hive的相關內(nèi)容時會穿插Hive 1.x、Hive 2.x及Hive 3.x等多個版本的內(nèi)容。 《Hive性能調(diào)優(yōu)實戰(zhàn)》共11章,涵蓋的內(nèi)容如下: 舉例感受Hive性能調(diào)優(yōu)的多樣性 Hive問題排查與調(diào)優(yōu)思路 環(huán)境搭建 Hive及其相關大數(shù)據(jù)組件 深入MapReduce計算引擎 Hive SQL執(zhí)行計劃 Hive數(shù)據(jù)處理模式 YARN日志 數(shù)據(jù)存儲 發(fā)現(xiàn)并優(yōu)化Hive中的性能問題 Hive知識體系總結(jié) 《Hive性能調(diào)優(yōu)實戰(zhàn)》內(nèi)容實用,非常適合對大數(shù)據(jù)技術感興趣的讀者閱讀,尤其是Hive進階讀者。另外,《Hive性能調(diào)優(yōu)實戰(zhàn)》還適合IT培訓機構的大數(shù)據(jù)培訓學員和高校相關專業(yè)的學生閱讀。

作者簡介

  林志煌曾在中國互聯(lián)網(wǎng)頭部公司長期從事大數(shù)據(jù)相關項目的研發(fā)。擅長并能夠熟練使用Hive、MapReduce和Spark等大數(shù)據(jù)相關技術。經(jīng)手過日數(shù)據(jù)流量TB級別和總量PB級別的Hadoop大數(shù)據(jù)平臺建設。從事過數(shù)據(jù)采集、數(shù)據(jù)清洗、數(shù)據(jù)倉庫模型構建及數(shù)據(jù)產(chǎn)品研發(fā)等工作,涵蓋了數(shù)據(jù)生命周期的主要階段。

圖書目錄

第1章  舉例感受Hive性能調(diào)優(yōu)的多樣性 1 1.1  感受改寫SQL對性能的影響 1 1.1.1  數(shù)據(jù)準備 1 1.1.2  union案例 4 1.1.3  改寫SQL實現(xiàn)union的優(yōu)化 5 1.1.4  失敗的union調(diào)優(yōu) 8 1.2  感受調(diào)整數(shù)據(jù)塊大小對性能的影響 10 1.2.1  數(shù)據(jù)準備 11 1.2.2  案例比較 11 1.3  感受不同數(shù)據(jù)格式對性能的提升 15 1.3.1  數(shù)據(jù)準備 15 1.3.2  案例比較 16 1.4  感受不同的表設計對性能的影響 18 1.4.1  數(shù)據(jù)準備 19 1.4.2  案例比較 21 1.5  調(diào)優(yōu)其實不難 24 第2章  Hive問題排查與調(diào)優(yōu)思路 25 2.1  小白推演Hive的優(yōu)化方法 25 2.1.1  類比關系型數(shù)據(jù)庫的調(diào)優(yōu) 25 2.1.2  學習大數(shù)據(jù)分布式計算的基本原理 28 2.1.3  學習使用YARN提供的日志 31 2.1.4  干預SQL的運行方式 33 2.2  老工對Hive的調(diào)優(yōu)理解 36 2.2.1  從一個過度優(yōu)化案例說起 36 2.2.2  編碼和調(diào)優(yōu)的原則 43 2.2.3  Hive程序相關規(guī)范 49 2.3  總結(jié)調(diào)優(yōu)的一般性過程 51 第3章  環(huán)境搭建 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搭建偽分布式環(huán)境 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構建軟件安裝內(nèi)部源 76 3.4.3  CDM安裝分布式集群 79 3.5  使用GitHub開源項目構建集群 87 第4章  Hive及其相關大數(shù)據(jù)組件 89 4.1  Hive架構 89 4.1.1  Hive 1.x版本基本結(jié)構 89 4.1.2  Hive元數(shù)據(jù) 91 4.2  YARN組件 97 4.2.1  YARN的優(yōu)點 97 4.2.2  YARN基本組成 97 4.2.3  YARN工作流程 99 4.2.4  YARN資源調(diào)度器 100 4.3  HDFS架構 102 4.3.1  常見HDFS優(yōu)化 102 4.3.2  HDFS基本架構和讀寫流程 103 4.3.3  HDFS高可用架構 105 4.3.4  NameNode聯(lián)盟 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作業(yè)輸入 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作業(yè)輸出 131 5.7.1  OutputFormat作業(yè)輸出 132 5.7.2  Hive配置與作業(yè)輸出 133 5.8  MapReduce作業(yè)與Hive配置 134 5.9  MapReduce與Tez對比 135 5.9.1  通過案例代碼對比MapReduce和Tez 135 5.9.2  Hive中Tez和LLAP相關的配置 141 第6章  HiveSQL執(zhí)行計劃 143 6.1  查看SQL的執(zhí)行計劃 143 6.1.1  查看執(zhí)行計劃的基本信息 144 6.1.2  查看執(zhí)行計劃的擴展信息 148 6.1.3  查看SQL數(shù)據(jù)輸入依賴的信息 148 6.1.4  查看SQL操作涉及的相關權限信息 152 6.1.5  查看SQL的向量化描述信息 152 6.2  簡單SQL的執(zhí)行計劃解讀 158 6.3  帶普通函數(shù)/操作符SQL的執(zhí)行計劃解讀 161 6.3.1  執(zhí)行計劃解讀 161 6.3.2  普通函數(shù)和操作符 162 6.4  帶聚合函數(shù)的SQL執(zhí)行計劃解讀 164 6.4.1  在Reduce階段聚合的SQL 164 6.4.2  在Map和Reduce階段聚合的SQL 167 6.4.3  高級分組聚合 169 6.5  帶窗口/分析函數(shù)的SQL執(zhí)行計劃解讀 172 6.6  表連接的SQL執(zhí)行計劃解讀 175 6.6.1  Hive表連接的類型 175 6.6.2  內(nèi)連接和外連接 176 6.6.3  左半連接 178 第7章  Hive數(shù)據(jù)處理模式 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  分區(qū)過濾 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)行計數(shù)聚合模式 194 7.2.3  可計算中間結(jié)果的聚合模式 197 7.2.4  不可計算中間結(jié)果的聚合模式 199 7.3  連接模式 200 7.3.1  普通Map連接 201 7.3.2  桶的Map連接和排序合并桶的Map連接 207 7.3.3  傾斜連接 209 7.3.4  表連接與基于成本的優(yōu)化器 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集群節(jié)點的度量信息 218 8.2.3  Cluster Overview集群概況 220 8.3  查看集群節(jié)點概況 221 8.3.1  節(jié)點列表概況 221 8.3.2  節(jié)點詳細信息 223 8.3.3  節(jié)點作業(yè)信息 224 8.4  查看集群的隊列調(diào)度情況 226 8.5  查看集群作業(yè)運行信息 230 8.5.1  集群作業(yè)運行狀態(tài) 230 8.5.2  查看作業(yè)運行的基本信息 231 8.5.3  查看作業(yè)計數(shù)器 232 第9章  數(shù)據(jù)存儲 236 9.1  文件存儲格式之Apache ORC 236 9.1.1  ORC的結(jié)構 237 9.1.2  ORC的數(shù)據(jù)類型 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基本結(jié)構 243 9.3.2  Parquet的相關配置 245 9.4  數(shù)據(jù)歸檔 245 第10章  發(fā)現(xiàn)并優(yōu)化Hive中的性能問題 247 10.1  監(jiān)控Hive數(shù)據(jù)庫的狀態(tài) 247 10.2  監(jiān)控當前集群狀態(tài) 253 10.3  定位性能瓶頸 258 10.3.1  使用HS2 WebUI排除非大數(shù)據(jù)組件的問題 258 10.3.2  排查長時等待調(diào)度 260 10.3.3  Map任務讀取小文件和大文件 261 10.3.4  Reduce的數(shù)據(jù)傾斜 262 10.3.5  緩慢的Shuffle 264 10.3.6  集群資源的限制 265 10.4  數(shù)據(jù)傾斜 266 10.4.1  不可拆分大文件引發(fā)的數(shù)據(jù)傾斜 266 10.4.2  業(yè)務無關的數(shù)據(jù)引發(fā)的數(shù)據(jù)傾斜 267 10.4.3  多維聚合計算數(shù)據(jù)膨脹引起的數(shù)據(jù)傾斜 268 10.4.4  無法削減中間結(jié)果的數(shù)據(jù)量引發(fā)的數(shù)據(jù)傾斜 268 10.4.5  兩個Hive數(shù)據(jù)表連接時引發(fā)的數(shù)據(jù)傾斜 269 第11章  Hive知識體系總結(jié) 270 11.1  Hive知識體系 270 11.2  數(shù)據(jù)粒度 271 11.3  SQL相關 275 11.3.1  select查詢語句 276 11.3.2  數(shù)據(jù)定義語言(DDL) 276 11.3.3  數(shù)據(jù)控制語言(DML) 279 11.3.4  用戶自定義函數(shù)(UDF) 280 11.4  文件操作 281

本目錄推薦

掃描二維碼
Copyright ? 讀書網(wǎng) ranfinancial.com 2005-2020, All Rights Reserved.
鄂ICP備15019699號 鄂公網(wǎng)安備 42010302001612號