幫助中心 | 我的帳號 | 關於我們

Hive性能調優實戰

  • 作者:編者:林志煌|責編:歐振旭//李華君
  • 出版社:機械工業
  • ISBN:9787111644323
  • 出版日期:2020/01/01
  • 裝幀:平裝
  • 頁數:282
人民幣:RMB 89 元      售價:
放入購物車
加入收藏夾

內容大鋼
    本書旨在介紹如何進行Hive的性能調優,以及調優時所涉及和使用的工具。書中重點介紹了Hive性能調優所涉及的Hadoop組件和Hive工具。考慮到很多調優方法的著眼點有一定的相似性,這些調優方法可以適用於多個Hive版本,所以本書在介紹Hive的相關內容時會穿插Hive 1.x、Hive 2.x及Hive 3.x等多個版本的內容。
    本書共11章,涵蓋的內容有:
    舉例感受Hive優化的多面性;
    Hive問題排查與調優思路;環境搭建;
    Hive及其相關大數據組件;
    深入MapReduce計算引擎;
    HiveSQL執行計劃;
    Hive的數據處理模式;
    YARN日誌;
    數據存儲;
    發現並優化Hive中的性能問題;
    Hive知識體系總結。
    本書內容實用,非常適合對大數據技術感興趣的讀者閱讀,尤其是Hive進階讀者。另外,本書還適合IT培訓機構的大數據培訓學員和高校相關專業的學生閱讀。

作者介紹
編者:林志煌|責編:歐振旭//李華君
    林志煌,曾在中國互聯網頭部公司長期從事大數據相關項目的研發。擅長並能夠熟練使用Hive、MapReduce和Spark等大數據相關技術。經手過日數據流量TB級別和總量PB級別的Hadoop大數據平台建設。從事過數據採集、數據清洗、數據倉庫模型構建及數據產品研發等工作,涵蓋了數據生命周期的主要階段。

目錄
前言
第1章  舉例感受Hive性能調優的多樣性
  1.1  感受改寫SQL對性能的影響
    1.1.1  數據準備
    1.1.2  union案例
    1.1.3  改寫SQL實現union的優化
    1.1.4  失敗的union調優
  1.2  感受調整數據塊大小對性能的影響
    1.2.1  數據準備
    1.2.2  案例比較
  1.3  感受不同數據格式對性能的提升
    1.3.1  數據準備
    1.3.2  案例比較
  1.4  感受不同的表設計對性能的影響
    1.4.1  數據準備
    1.4.2  案例比較
  1.5  調優其實不難
第2章  Hive問題排查與調優思路
  2.1  小白推演Hive的優化方法
    2.1.1  類比關係型資料庫的調優
    2.1.2  學習大數據分散式計算的基本原理
    2.1.3  學習使用YARN提供的日誌
    2.1.4  干預SQL的運行方式
  2.2  老工對Hive的調優理解
    2.2.1  從一個過度優化案例說起
    2.2.2  編碼和調優的原則
    2.2.3  Hive程序相關規範
  2.3  總結調優的一般性過程
第3章  環境搭建
  3.1  Docker基礎
    3.1.1  Docker介紹
    3.1.2  安裝Docker
    3.1.3  常見的Docker使用與管理命令
    3.1.4  使用Dockerfile構建服務鏡像
    3.1.5  Dockerfile語法
  3.2  Cloudera Docker搭建偽分散式環境
  3.3  Docker搭建分散式集群
    3.3.1  構建JDK鏡像
    3.3.2  構建Hadoop鏡像
    3.3.3  構建Hive鏡像
    3.3.4  啟動集群
  3.4  CDM搭建分散式集群
    3.4.1  Cloudera Manager組件
    3.4.2  Docker構建軟體安裝內部源
    3.4.3  CDM安裝分散式集群
  3.5  使用GitHub開源項目構建集群
第4章  Hive及其相關大數據組件
  4.1  Hive架構
    4.1.1  Hive 1.x版本基本結構
    4.1.2  Hive元數據

  4.2  YARN組件
    4.2.1  YARN的優點
    4.2.2  YARN基本組成
    4.2.3  YARN工作流程
    4.2.4  YARN資源調度器
  4.3  HDFS架構
    4.3.1  常見HDFS優化
    4.3.2  HDFS基本架構和讀寫流程
    4.3.3  HDFS高可用架構
    4.3.4  NameNode聯盟
  4.4  計算引擎
    4.4.1  MapReduce計算引擎
    4.4.2  Tez計算引擎
    4.4.3  LLAP長時在線與處理程序
    4.4.4  Spark計算引擎
第5章  深入MapReduce計算引擎
  5.1  MapReduce整體處理過程
  5.2  MapReduce作業輸入
    5.2.1  輸入格式類InputFormat
    5.2.2  InputFormat在Hive中的使用
  5.3  MapReduce的Mapper
    5.3.1  Mapper類
    5.3.2  Hive中與Mapper相關的配置
  5.4  MapReduce的Reducer
    5.4.1  Reducer類
    5.4.2  Hive中與Reducer相關的配置
  5.5  MapReduce的Shuffle
  5.6  MapReduce的Map端聚合
    5.6.1  Combiner類
    5.6.2  Map端的聚合與Hive配置
  5.7  MapReduce作業輸出
    5.7.1  OutputFormat作業輸出
    5.7.2  Hive配置與作業輸出
  5.8  MapReduce作業與Hive配置
  5.9  MapReduce與Tez對比
    5.9.1  通過案例代碼對比MapReduce和Tez
    5.9.2  Hive中Tez和LLAP相關的配置
第6章  HiveSQL執行計劃
  6.1  查看SQL的執行計劃
    6.1.1  查看執行計劃的基本信息
    6.1.2  查看執行計劃的擴展信息
    6.1.3  查看SQL數據輸入依賴的信息
    6.1.4  查看SQL操作涉及的相關許可權信息
    6.1.5  查看SQL的向量化描述信息
  6.2  簡單SQL的執行計劃解讀
  6.3  帶普通函數/操作符SQL的執行計劃解讀
    6.3.1  執行計劃解讀
    6.3.2  普通函數和操作符
  6.4  帶聚合函數的SQL執行計劃解讀
    6.4.1  在Reduce階段聚合的SQL

    6.4.2  在Map和Reduce階段聚合的SQL
    6.4.3  高級分組聚合
  6.5  帶窗口/分析函數的SQL執行計劃解讀
  6.6  表連接的SQL執行計劃解讀
    6.6.1  Hive表連接的類型
    6.6.2  內連接和外連接
    6.6.3  左半連接
第7章  Hive數據處理模式
  7.1  過濾模式
    7.1.1  where子句過濾模式
    7.1.2  having子句過濾
    7.1.3  distinct子句過濾
    7.1.4  表過濾
    7.1.5  分區過濾
    7.1.6  分桶過濾
    7.1.7  索引過濾
    7.1.8  列過濾
  7.2  聚合模式
    7.2.1  distinct模式
    7.2.2  count(列)、count(*)、count(1)行計數聚合模式
    7.2.3  可計算中間結果的聚合模式
    7.2.4  不可計算中間結果的聚合模式
  7.3  連接模式
    7.3.1  普通Map連接
    7.3.2  桶的Map連接和排序合併桶的Map連接
    7.3.3  傾斜連接
    7.3.4  表連接與基於成本的優化器
第8章  YARN日誌
  8.1  查看YARN日誌的方式
    8.1.1  ResourceManager Web UI界面
    8.1.2  JobHistory Web UI界面
  8.2  快速查看集群概況
    8.2.1  Cluster Metrics集群度量指標
    8.2.2  Cluster Node Metrics集群節點的度量信息
    8.2.3  Cluster Overview集群概況
  8.3  查看集群節點概況
    8.3.1  節點列表概況
    8.3.2  節點詳細信息
    8.3.3  節點作業信息
  8.4  查看集群的隊列調度情況
  8.5  查看集群作業運行信息
    8.5.1  集群作業運行狀態
    8.5.2  查看作業運行的基本信息
    8.5.3  查看作業計數器
第9章  數據存儲
  9.1  文件存儲格式之Apache ORC
    9.1.1  ORC的結構
    9.1.2  ORC的數據類型
    9.1.3  ACID事務的支持
  9.2  與ORC相關的Hive配置

    9.2.1  表配置屬性
    9.2.2  Hive表的配置屬性
  9.3文件存儲格式之Apache Parquet
    9.3.1  Parquet基本結構
    9.3.2  Parquet的相關配置
  9.4  數據歸檔
第10章  發現並優化Hive中的性能問題
  10.1  監控:Hive資料庫的狀態
  10.2監控當前集群狀態
  lO.3  定位性能瓶頸
    10.3.1  使用:HS2 WebUI排除非大數據組件的問題
    10.3.2  排查長時等待調度
    10.3.3 Map任務讀取小文件和大文件
    10.3.4  Reduce的數據傾斜
    10.3.5  緩慢的Shuffle
    10.3.6  集群資源的限制
  10.4  數據傾斜
    10.4.1  不可拆分大文件引發的數據傾斜
    10.4.2  業務無關的數據引發的數據傾斜
  10.4.3  多維聚合計算數據膨脹引起的數據傾斜
    10.4.4  無法削減中間結果的數據量引發的數據傾斜
    10.4.5  兩個Hive數據表連接時引發的數據傾斜
第11章  Hive知識體系總結
  11.1  Hive知識體系
  11.2  數據粒度
  11.3 SQL相關
    11.3.1  select查詢語句
    11.3.2  數據定義語言(DDL)
    11.3.3  數據控制語言(DML)
    11.3.4  用戶自定義函數(UDF)
  11.4  文件操作

  • 商品搜索:
  • | 高級搜索
首頁新手上路客服中心關於我們聯絡我們Top↑
Copyrightc 1999~2008 美商天龍國際圖書股份有限公司 臺灣分公司. All rights reserved.
營業地址:臺北市中正區重慶南路一段103號1F 105號1F-2F
讀者服務部電話:02-2381-2033 02-2381-1863 時間:週一-週五 10:00-17:00
 服務信箱:bookuu@69book.com 客戶、意見信箱:cs@69book.com
ICP證:浙B2-20060032