概述
- 本内容以Apache Kylin v1.5为基础
1、背景和历史
略
2、Apache Kylin的使命
- Kylin的使命是超高速的大数据OLAP(Online Analytical Processing), 也就是要让大数据分析像使用数据库一样简单迅速,用户的查询请求可 以在秒内返回,交互式数据分析将以前所未有的速度释放大数据里潜藏 的知识和信息,让我们在面对未来的挑战时占得先机。
2.1、为什么要使用Kylin
- 现有的优秀的SQL on Hadoop工具使用的技术主要是”大规模并行处理(Massive Parallel Processing)“和”列式存储(Columnar Storage)“;无法改变查询时间与数据量成线性增长的现状;
2.2、Apache Kylin怎样解决关键问题
- 传统大数据查询一般是统计结果,是多条记录经过聚合函数计算后的统计值。原始的记录则不是必需的,或者访问频率和概率都极低。
- 聚合是按维度进行的,由于业务范围和分析需求是有限的,有意义的维度聚合组合也是相对有限的,一般不会随着数据的膨胀而增长。
- “预计算”:应尽量多滴预先计算聚合结果,在查询时刻应尽量使用预算的结果得出查询结果,从而避免直接扫描可能无限增长的原始记录。
3、Apache Kylin的工作原理
- Apache Kylin的工作原理本质上是MOLAP(Multidimensional Online Analytical Processing)Cube,也就是多维立方体分析。这是数据分析中相当经典的理论,在关系数据库年代就已经有了广泛的应用。
3.1、维度和度量简介
-
简单说,维度就是观察数据的角度。比如电商的销售数据,可以从时间的维度来观察,也可以从时间和地区的维度来观察。统计时可以吧维度值相同的记录聚合在一起,然后应用聚合函数做累加、平均、去重复计数等聚合计算;维度一般是一组离散的值</