商品簡介
本書由Apache Kylin核心開發團隊編寫,近兩年Apache Kylin隨著社區持續貢獻的熱度和在不同領域業務場景的深入實踐應用,新的功能和特性不斷湧現,這樣就迫切需要更新內容來滿足廣大Apache Kylin 的使用者和關注人群的需要。本書從Apache Kylin的架構和設計,各個模塊的使用,與第三方的整合,二次開發以及開源實踐等各個方面進行講解,為各位讀者呈現*核心的設計理念和哲學、算法和技術等。
目次
推薦序前 言第1章 Apache Kylin概述11.1 背景和歷史11.2 Apache Kylin的使命31.2.1 為什麼要使用Apache Kylin31.2.2 Apache Kylin怎樣解決關鍵問題41.3 Apache Kylin的工作原理51.3.1 維度和度量簡介51.3.2 Cube和Cuboid61.3.3 工作原理71.4 Apache Kylin的技術架構71.5 Apache Kylin的主要特點91.5.1 標準SQL接口91.5.2 支持超大數據集101.5.3 亞秒級響應101.5.4 可伸縮性和高吞吐率101.5.5 BI及可視化工具集成111.6 與其他開源產品的比較111.7 小結13第2章 快速入門 142.1 核心概念 142.1.1 數據倉庫、OLAP與BI142.1.2 維度建模152.1.3 事實表和維度表162.1.4 維度和度量162.1.5 Cube、Cuboid和Cube Segment162.2 在Hive中準備數據 172.2.1 多維數據模型172.2.2 維度表的設計 172.2.3 Hive表分區 182.2.4瞭解維度的基數 182.2.5 樣例數據182.3 安裝和啟動Apache Kylin192.3.1 環境準備192.3.2 必要組件192.3.3 啟動Apache Kylin192.4 設計Cube 192.4.1 導入Hive表定義192.4.2 創建數據模型212.4.3 創建Cube232.5 構建Cube 322.5.1 全量構建和增量構建342.5.2 歷史數據刷新352.5.3 合併362.6 查詢Cube 382.6.1 Apache Kylin查詢介紹382.6.2 查詢下壓402.7 SQL參考 412.8 小結41第3章 Cube優化423.1 Cuboid剪枝優化423.1.1 維度的組合423.1.2 檢查Cuboid數量433.1.3 檢查Cube大小453.1.4 空間與時間的平衡463.2 剪枝優化工具473.2.1 使用衍生維度473.2.2 聚合組493.2.3 必需維度513.2.4 層級維度513.2.5 聯合維度523.3 併發粒度優化543.4 Rowkey優化553.4.1 調整Rowkey順序553.4.2 選擇合適的維度編碼563.4.3 按維度分片573.5 Top_N度量優化583.6 Cube Planner優化613.7 其他優化623.7.1 降低度量精度623.7.2 及時清理無用Segment633.8 小結63第4章 增量構建644.1 為什麼要增量構建644.2 設計增量Cube664.2.1 設計增量Cube的條件664.2.2 增量Cube的創建674.3 觸發增量構建694.3.1 Web GUI觸發694.3.2 構建相關的REST API704.4 管理Cube碎片764.4.1 合併Segment764.4.2 自動合併774.4.3 保留Segment794.4.4 數據持續更新794.5 小結80第5章 查詢和可視化815.1 Web GUI815.1.1 查詢815.1.2 顯示結果825.2 REST API845.2.1 查詢認證855.2.2 查詢請求參數855.2.3 查詢返回結果865.3 ODBC875.4 JDBC905.4.1 獲得驅動包905.4.2 認證905.4.3 URL格式905.4.4 獲取元數據信息915.5 Tableau集成915.5.1 連接Kylin數據源925.5.2 設計數據模型935.5.3 “Live”連接935.5.4 自定義SQL945.5.5 可視化展現945.5.6 發佈到Tableau Server955.6 Zeppelin集成955.6.1 Zeppelin架構簡介955.6.2 KylinInterpreter的工作原理965.6.3 如何使用Zeppelin訪問Kylin965.7 Superset 集成985.7.1 下載Kylinpy985.7.2 安裝Superset995.7.3 在Superset中添加Kylin Database1005.7.4 在Superset中添加Kylin Table1005.7.5 在Superset中創建圖表1035.7.6 在Superset中通過SQL Lab探索Kylin1055.8 QlikView 集成1065.8.1 連接Kylin數據源1065.8.2 “Direct Query”連接1075.8.3 創建可視化1095.8.4 發佈到QlikView Server1105.9 Qlik Sense集成1105.9.1 連接Kylin數據源1105.9.2 “Direct Query”連接1125.9.3 創建可視化1145.9.4 發佈到Qlik Sense Hub1155.9.5 在Qlik Sense Hub中連接Kylin數據源1175.10 Redash集成1185.10.1 連接Kylin數據源1185.10.2 新建查詢1195.10.3 新建儀錶盤1215.11 MicroStrategy 集成1225.11.1 創建數據庫實例1235.11.2 導入邏輯表1245.11.3 創建屬性、事實和度量1245.11.4 創建報告1245.11.5 MicroStrategy連接Kylin最佳實踐1265.12 小結127第6章 Cube Planner及儀錶盤1286.1 Cube Planner1286.1.1 為什麼要引入Cube Planner1286.1.2 Cube Planner 算法介紹1296.1.3 使用Cube Planner1316.2 System Cube1346.2.1 開啟System Cube1346.2.2 構建和更新System Cube1356.3 儀錶盤1356.4 小結137第7章 流式構建1387.1 為什麼要進行流式構建1397.2 準備流式數據1397.2.1 數據格式1397.2.2 消息隊列1407.2.3 創建Schema1417.3 設計流式Cube1447.3.1 創建Model1447.3.2 創建Cube1457.4 流式構建原理1477.5 觸發流式構建1507.5.1 單次觸發構建1517.5.2 自動化多次觸發1527.5.3 初始化構建起點1527.5.4 其他操作1537.5.5 出錯處理1537.6 小結154第8章 使用Spark1558.1 為什麼要引入Apache Spark1558.2 Spark構建原理1568.3 使用Spark構建Cube1588.3.1 配置Spark引擎1