推荐序
前言
第1章 Apache Kylin概述
1.1 背景和历史
1.2 Apache Kylin的使命
1.2.1 为什么要使用Apache Kylin
1.2.2 Apache Kylin怎样解决关键问题
1.3 Apache Kylin的工作原理
1.3.1 维度和度量简介
1.3.2 Cube和Cuboid
1.3.3 工作原理
1.4 Apache Kylin的技术架构
1.5 Apache Kylin的主要特点
1.5.1 标准SQL接口
1.5.2 支持超大数据集
1.5.3 亚秒级响应
1.5.4 可伸缩性和高吞吐率
1.5.5 BI及可视化工具集成
1.6 与其他开源产品的比较
1.7 小结
第2章 快速入门
2.1 核心概念
2.1.1 数据仓库、OLAP与BI
2.1.2 维度建模
2.1.3 事实表和维度表
2.1.4 维度和度量
2.1.5 Cube、Cuboid和Cube Segment
2.2 在Hive中准备数据
2.2.1 多维数据模型
2.2.2 维度表的设计
2.2.3 Hive表分区
2.2.4 了解维度的基数
2.2.5 样例数据
2.3 安装和启动Apache Kylin
2.3.1 环境准备
2.3.2 必要组件
2.3.3 启动Apache Kylin
2.4 设计Cube
2.4.1 导入Hive表定义
2.4.2 创建数据模型
2.4.3 创建Cube
2.5 构建Cube
2.5.1 全量构建和增量构建
2.5.2 历史数据刷新
2.5.3 合并
2.6 查询Cube
2.6.1 Apache Kylin查询介绍
2.6.2 查询下压
2.7 SQL参考
2.8 小结
第3章 Cube优化
3.1 Cuboid剪枝优化
3.1.1 维度的组合
3.1.2 检查Cuboid数量
3.1.3 检查Cube大小
3.1.4 空间与时间的平衡
3.2 剪枝优化工具
3.2.1 使用衍生维度
3.2.2 聚合组
3.2.3 必需维度
3.2.4 层级维度
3.2.5 联合维度
3.3 并发粒度优化
3.4 Rowkey优化
3.4.1 调整Rowkey顺序
3.4.2 选择合适的维度编码
3.4.3 按维度分片
3.5 Top_N度量优化
3.6 Cube Planner优化
3.7 其他优化
3.7.1 降低度量精度
3.7.2 及时清理无用Segment
3.8 小结
第4章 增量构建
4.1 为什么要增量构建
4.2 设计增量Cube
4.2.1 设计增量Cube的条件
4.2.2 增量Cube的创建
4.3 触发增量构建
4.3.1 Web GUI触发
4.3.2 构建相关的REST API
4.4 管理Cube碎片
4.4.1 合并Segment
4.4.2 自动合并
4.4.3 保留Segment
4.4.4 数据持续更新
4.5 小结
第5章 查询和可视化
5.1 Web GUI
5.1.1 查询
5.1.2 显示结果
5.2 REST API
5.2.1 查询认证
5.2.2 查询请求参数
5.2.3 查询返回结果
5.3 ODBC
5.4 JDBC
5.4.1 获得驱动包
5.4.2 认证
5.4.3 URL格式
5.4.4 获取元数据信息
5.5 Tableau集成
5.5.1 连接Kylin数据源
5.5.2 设计数据模型
5.5.3 “Live”连接
5.5.4 自定义SQL
5.5.5 可视化展现
5.5.6 发布到Tableau Server
5.6 Zeppelin集成
5.6.1 Zeppelin架构简介
5.6.2 KylinInterpreter的工作原理
5.6.3 如何使用Zeppelin访问Kylin
5.7 Superset集成
5.7.1 下载Kylinpy
5.7.2 安装Superset
5.7.3 在Superset中添加Kylin Database
5.7.4 在Superset中添加Kylin Table
5.7.5 在Superset中创建图表
5.7.6 在Superset中通过SQL Lab探索Kylin
5.8 QlikView集成
5.8.1 连接Kylin数据源
5.8.2 “Direct Query”连接
5.8.3 创建可视化
5.8.4 发布到QlikView Server
5.9 Qlik Sense集成
5.9.1 连接Kylin数据源
5.9.2 “Direct Query”连接
5.9.3 创建可视化
5.9.4 发布到Qlik Sense Hub
5.9.5 在Qlik Sense Hub中连接Kylin数据源
5.10 Redash集成
5.10.1 连接Kylin数据源
5.10.2 新建查询
5.10.3 新建仪表盘
5.11 MicroStrategy集成
5.11.1 创建数据库实例
5.11.2 导入逻辑表
5.11.3 创建属性、事实和度量
5.11.4 创建报告
5.11.5 MicroStrategy连接Kylin最佳实践
5.12 小结
第6章 Cube Planner及仪表盘
6.1 Cube Planner
6.1.1 为什么要引入Cube Planner
6.1.2 Cube Planner算法介绍
6.1.3 使用Cube Planner
6.2 System Cube
6.2.1 开启System Cube
6.2.2 构建和更新System Cube
6.3 仪表盘
6.4 小结
第7章 流式构建
7.1 为什么要进行流式构建
7.2 准备流式数据
7.2.1 数据格式
7.2.2 消息队列
7.2.3 创建Schema
7.3 设计流式Cube
7.3.1 创建Model
7.3.2 创建Cube
7.4 流式构建原理
7.5 触发流式构建
7.5.1 单次触
展开