书刊介绍
《Apache Kylin权威指南》内容简介
在数据分析领域,大部分的技术都诞生在国外,特别是美国,从最初的数据库,到以Hadoop为首的大数据技术,再到今天各种DL(Deep Learning)、AI,等等。但我国拥有着世界上独一无二的“大”数据,最多的人口、最多的移动设备、最活跃的应用市场、最复杂的网络环境等,应对这些挑战,我们需要有自己的核心技术,特别是在基础领域的突破和研发方面。今天,以Apache Kylin为首的各种来自中国的先进技术不断涌现,甚至在很多方面都大大超越了国外的其他技术,这一点也彰显了中国的技术实力。
作者:Apache Kylin核心团队。作品目录
推荐序一
推荐序二
推荐序三
推荐序四
前言
第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、Cube、Cuboid和Cube
Segment
2.2、在Hive中准备数据
2.2.1、星形模型
2.2.2、维度表的设计
2.2.3、Hive表分区
2.2.4、了解维度的基数
2.2.5、Sample
Data
2.3、设计Cube
2.3.1、导入Hive表定义
2.3.2、创建数据模型
2.3.3、创建Cube
2.4、构建Cube
2.4.1、全量构建和增量构建
2.4.2、历史数据刷新
2.4.3、合并
2.5、查询Cube
2.6、SQL参考
2.7、小结
第3章:增量构建
3.1、为什么要增量构建
3.2、设计增量Cube
3.2.1、设计增量Cube的前提
3.2.2、增量Cube的创建
3.3、触发增量构建
3.3.1、Web
GUI触发
3.3.2、构建相关的Rest
API
3.4、管理Cube碎片
3.4.1、合并Segment
3.4.2、自动合并
3.4.3、保留Segment
3.4.4、数据持续更新
3.5、小结
第4章:流式构建
4.1、为什么要流式构建
4.2、准备流式数据
4.2.1、数据格式
4.2.2、消息队列
4.2.3、创建Schema
4.3、设计流式Cube
4.3.1、创建Model
4.3.2、创建Cube
4.4、流式构建原理
4.5、触发流式构建
4.5.1、单次触发
4.5.2、自动化多次触发
4.5.3、出错处理
4.6、小结
第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访问Kylin
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、小结
第6章:Cube优化
6.1、Cuboid剪枝优化
6.1.1、维度的诅咒
6.1.2、检查Cuboid数量
6.1.3、检查Cube大小
6.1.4、空间与时间的平衡
6.2、剪枝优化的工具
6.2.1、使用衍生维度
6.2.2、使用聚合组
6.3、并发粒度优化
6.4、Rowkeys优化
6.4.1、编码
6.4.2、按维度分片
6.4.3、调整Rowkeys顺序
6.5、其他优化
6.5.1、降低度量精度
6.5.2、及时清理无用的Segment
6.6、小结
第7章:应用案例分析
7.1、基本多维分析
7.1.1、数据集
7.1.2、数据导入
7.1.3、创建数据模型
7.1.4、创建Cube
7.1.5、构建Cube
7.1.6、SQL查询
7.2、流式分析
7.2.1、Kafka数据源
7.2.2、创建数据表
7.2.3、创建数据模型
7.2.4、创建Cube
7.2.5、构建Cube
7.2.6、SQL查询
7.3、小结
第8章:扩展Apache
Kylin
8.1、可扩展式架构
8.1.1、工作原理
8.1.2、三大主要接口
8.2、计算引擎扩展
8.2.1、EngineFactory
8.2.2、MRBatchCubingEngine2、8.2.3、BatchCubingJobBuilder2、8.2.4、IMRInput
8.2.5、IMROutput2、8.3、数据源扩展
8.4、存储扩展
8.5、聚合类型扩展
8.5.1、聚合的JSON定义
8.5.2、聚合类型工厂
8.5.3、聚合类型的实现
8.6、维度编码扩展
8.6.1、维度编码的JSON定义
8.6.2、维度编码工厂
8.6.3、维度编码的实现
8.7、小结
第9章:Apache
Kylin的企业级功能
9.1、身份验证
9.1.1、自定义验证
9.1.2、LDAP验证
9.1.3、单点登录
9.2、授权
9.3、小结
第10章:运维管理
10.1、安装和配置
10.1.1、必备条件
10.1.2、快速启动Apache
Kylin
10.1.3、配置Apache
Kylin
10.1.4、企业部署
10.2、监控和诊断
10.2.1、日志
10.2.2、任务报警
10.2.3、诊断工具
10.3、日常维护
10.3.1、基本运维
10.3.2、元数据备份
10.3.3、元数据恢复
10.3.4、系统升级
10.3.5、垃圾清理
10.4、常见问题和修复
10.5、获得社区帮助
10.5.1、邮件列表
10.5.2、JIRA
10.6、小结
第11章:参与开源
11.1、Apache
Kylin的开源历程
11.2、为什么参与开源
11.3、Apache开源社区简介
11.3.1、简介
11.3.2、组织构成与运作模式
11.3.3、项目角色
11.3.4、孵化项目及顶级项目
11.4、如何贡献到开源社区
11.4.1、什么是贡献
11.4.2、如何贡献
11.5、礼仪与文化
11.6、如何参与Apache
Kylin
11.7、小结
第12章:Apache
Kylin的未来
12.1、大规模流式构建
12.2、拥抱Spark技术栈
12.3、更快的存储和查询
12.4、前端展现及与BI工具的整合
12.5、高级OLAP函数
12.6、展望