開源大數據分析引擎Impala實戰

開源大數據分析引擎Impala實戰

清華大學出版社出版的圖書《開源大數據分析引擎Impala實戰》前言和目錄。

基本介紹

  • 中文名:圖書《開源大數據分析引擎Impala實戰》
前言,內容簡介,讀者對象,致謝,作者簡介,目錄,

前言

作為曾經的傳統關係型資料庫從業者,我們不僅需要了解資料庫本身,還需要了解運行資料庫的主機,存儲資料庫數據的倉庫,讀取資料庫數據的中間件以及套用本身的特點。隨著硬體的發展以及數據處理的細化,資料庫技術從傳統的基於磁碟的關係型資料庫,向記憶體資料庫、MPP資料庫不同的方向演進,資料庫產品也從高大全向單一RDBMS吃遍天、短小精悍的方向發展。在架構時,我們必須根據套用的特點選擇合適的資料庫產品。
自2009年開始,筆者開始嘗試使用基於Hadoop的技術來解決傳統資料庫無法線性擴展的問題。Hadoop不能稱之為“資料庫”,也不能簡單地稱之為“套用”,而是介於資料庫和套用之間的一種既能用於存儲和處理數據,又能處理套用業務邏輯的一個混合體,我們通常稱之為“數據平台”。Hadoop雖在本質上解決了磁碟IO的擴展問題,但同時由於其基於磁碟(自Hadoop 2.3起支持快取特性),因此對於某些實時性要求更高的任務無能為力,Impala及其他的基於記憶體的運算技術應運而生。
Impala的存儲基於HDFS,運算基於表的統計信息生成執行計畫,具備資源管理功能,是最像傳統資料庫的大數據技術。筆者著手寫作本書時Impala的最新版本為1.3.1,而目前已演進至 2.1版本,在SQL語法、安裝、擴展性及性能方面進一步增強。

內容簡介

工欲善其事,必先利其器,第1章手把手地為大家介紹如何離線搭建一個Impala環境。有了一個環境之後,我們可以暫時不考慮細節,先嘗嘗鮮使用一下它。第2章介紹如何在Impala上進行簡單的數據載入、建表、查詢等操作。作為Impala的管理者,僅僅能夠簡單使用它是遠遠不夠的。第3章系統地介紹Impala的架構體系及各組件的作用。第4章是為Impala的使用者量身定做的,花費比較大的篇幅介紹了Impala SQL、函式、UDF等。任何一款資料庫都會提供一個命令行工具,方便在沒有圖形界面的情況下,或者在Shell中進行調用,Impala也不例外,第5章介紹Impala的命令行工具Impala-shell。那如何有效地避免硬體資源的過載使用呢?當然是通過資源管理,第6章將詳細介紹Impala的資源管理機制,另外也可以將Impala使用YARN來進行管理。第7章詳細介紹了Impala底層支持的檔案類型,基本囊括了Hadoop主流的檔案類型。第8章介紹了Impala的分區機制。第9章介紹了Impala性能最佳化的指導原則,以及最佳化過程中使用到的各項技術。第10章介紹了在企業套用中使用Impala時的設計原則及套用案例。

讀者對象

l記憶體計算技術初學者
l資料庫管理員及資料庫開發人員
lHadoop及記憶體計算的運維工程師
l開源軟體愛好者
l其他對大數據技術感興趣的人員

致謝

在此感謝Cloudera的苗凱翔博士、Deborah Wiltshire、Yale Wang對本書的認可。感謝我的好兄弟閆猛、付樂慶對我一直以來的鼓勵。感謝我曾經服務過的客戶們對我的信任。感謝我的家人和朋友們,你們是我不斷努力的源動力。

作者簡介

賈傳青,數據架構師,Oracle OCM,DB2遷移之星,TechTarget特約作家,從資料庫向大數據轉型的先行者。曾服務於中國聯通、中國電信、建設銀行、PICC等,目前供職於一家大數據解決方案提供商,致力於使用大數據技術解決傳統資料庫無法解決的問題。

目錄

第 1章 Impala概述、安裝與配置
1.1 Impala概述
1.2 Cloudera Manager安裝準備
1.3 CM及 CDH安裝
1.4 Hive安裝
1.5 Impala安裝
第 2章 Impala入門示例
2.1 數據載入
2.2 數據查詢
2.3 分區表
2.4 外部分區表
2.5 笛卡爾連線
2.6 更新元數據
第 3章 Impala概念及架構
3.1 Impala伺服器組件
3.1.1 Impala Daemon.
3.1.2 Impala Statestore
3.1.3 Impala Catalog
3.2 Impala套用編程
3.2.1 Impala SQL方言
3.2.2 Impala編程接口概述
3.3 與 Hadoop生態系統集成
3.3.1 與 Hive集成
3.3.2 與 HDFS集成
3.3.3 使用 HBase.
第 4章 SQL語句
4.1 注釋
4.2 數據類型
4.2.1 BIGINT.
4.2.2 BOOLEAN
4.2.3 DOUBLE
4.2.4 FLOAT
4.2.5 INT
4.2.6 REAL
4.2.7 SMALLINT
4.2.8 STRING
4.2.9 TIMESTAMP
4.2.10 TINYINT
4.3 常量
4.3.1 數值常量
4.3.2 字元串常量
4.3.3 布爾常量
4.3.4 時間戳常量
4.3.5 NULL
4.4 SQL操作符
4.4.1 BETWEEN 操作符
4.4.2 比較操作符
4.4.3 IN操作符
4.4.4 IS NULL操作符
4.4.5 LIKE操作符
4.4.6 REGEXP操作符
4.5 模式對象和對象名稱
4.5.1 別名
4.5.2 標示符
4.5.3 資料庫
4.5.4 表
4.5.5 視圖
4.5.6 函式
4.6 SQL語句
4.6.1 ALTER TABLE
4.6.2 ALTER VIEW
4.6.3 COMPUTE STATS
4.6.4 CREATE DATABASE
4.6.5 CREATE FUNCTION
4.6.6 CREATE TABLE.
4.6.7 CREATE VIEW
4.6.8 DESCRIBE.
4.6.9 DROP DATABASE
4.6.10 DROP FUNCTION
4.6.11 DROP TABLE
4.6.12 DROP VIEW
4.6.13 EXPLAIN
4.6.14 INSERT
4.6.15 INVALIDATE METADATA
4.6.16 LOAD DATA.
4.6.17 REFRESH.
4.6.18 SELECT
4.6.19 SHOW
4.6.20 USE.
4.7 內嵌函式
4.7.1 數學函式
4.7.2 類型轉換函式
4.7.3 時間和日期函式
4.7.4 條件函式
4.7.5 字元串函式
4.7.6 特殊函式
4.8 聚集函式
4.8.1 AVG
4.8.2 COUNT
4.8.3 GROUP_CONCAT
4.8.4 MAX.
4.8.5 MIN
4.8.6 NDV
4.8.7 SUM
4.9 用戶自定義函式 UDF
4.9.1 UDF概念
4.9.2 安裝 UDF開發包
4.9.3 編寫 UDF
4.9.4 編寫 UDAF
4.9.5 編譯和部署 UDF
4.9.6 UDF性能
4.9.7 創建和使用 UDF示例
4.9.8 UDF 安全
4.9.9 Impala UDF的限制
4.10 Impala SQL &Hive QL
4.11 將 SQL移植到 Impala上
第 5章 Impala shell
5.1 命令行選項
5.2 連線到 Impalad
5.3 運行命令
5.4 命令參考
5.5 查詢參數設定
第 6章 Impala管理
6.1 準入控制和查詢佇列
6.1.1 準入控制概述
6.1.2 準入控制和 YARN
6.1.3 並發查詢限制
6.1.4 準入控制和 Impala客戶端協同工作
6.1.5 配置準入控制
6.1.6 使用準入控制指導原則
6.2 使用 YARN資源管理(CDH5).
6.2.1 Llama進程
6.2.2 檢查計算的資源和實際使用的資源
6.2.3 資源限制如何生效
6.2.4 啟用 Impala資源管理
6.2.5 資源管理相關 impala-shell參數
6.2.6 Impala資源管理的限制
6.3 為進程,查詢,會話設定逾時限制
6.4 通過代理實現 Impala高可用性
6.5 管理磁碟空間
第 7章 Impala存儲
7.1 檔案格式選擇
7.2 Text
7.2.1 查詢性能
7.2.2 創建文本表
7.2.3 數據檔案
7.2.4 載入數據
7.2.5 LZO壓縮
7.3 Parquet
7.3.1 創建 Parquet表
7.3.2 載入數據
7.3.3 查詢性能
7.3.4 Snappy/Gzip壓縮
7.3.5 與其他組件交換 Parquet數據檔案
7.3.6 Parquet數據檔案組織方式.
7.4 Avro
7.4.1 創建 Avro表
7.4.2 使用 Hive創建的 Avro表
7.4.3 通過 JSON指定 Avro模式
7.4.4 啟用壓縮
7.4.5 模式進化
7.5 RCFile
7.5.1 創建 RCFile表和載入數據.
7.5.2 啟用壓縮
7.6 SequenceFile
7.6.1 創建和載入數據
7.6.2 啟用壓縮
7.7 HBase.
7.7.1 支持的 Hbase列類型
7.7.2 性能問題
7.7.3 適用場景
7.7.4 數據載入
7.7.5 啟用壓縮
7.7.6 限制
7.7.7 示例
第 8章 Impala分區
8.1 分區技術適用場合
8.2 分區表相關 SQL語句
8.3 分區修剪
8.4 分區鍵列
8.5 使用不同的檔案格式
第 9章 Impala性能最佳化
9.1 最佳實踐
9.2 連線查詢最佳化
9.3 使用統計信息
9.4 基準測試
9.5 控制資源使用
9.6 性能測試
9.7 使用 EXPLAIN信息
9.8 使用 PROFILE信息.
第 10章 Impala設計原則與套用案例
10.1 設計原則
10.2 套用案例

相關詞條

熱門詞條

聯絡我們