一、什么是Kylin?
Apache Kylin™是一个开源的、分布式的分析型数据仓库,提供Hadoop/Spark 之上的 SQL 查询接口及多维分析(OLAP)能力以支持超大规模数据,最初由 eBay 开发并贡献至开源社区。
通过Kylin,可以实现超大数据集的亚秒级查询。
另外一定要提的一点,Kylin是首个由咱们中国人引导并完成开发的Apache顶级开源项目!
二、前提概要
在详细了解Kylin前,需要先了解以下几点知识。
OLAP(OnLine Analytical Processing)
OLAP名为联机分析处理,是用户可以快速,一致,交互地从各个方面更透彻的了解数据及信息。
维度:观察事物或分析数据时的角度,比如'时间'、'地点'、'产品类型'等,均为单一的角度。
维度层次:表示在同一维度概念上再次细分,例如'年-月-日','国家-市-区',均分为了三个层次。
维成员:表示当前层次,不再次细分时的具体某一成员,例如'2020年7月27日','中国-北京市-朝阳区'。
度量:在某一维度上所取到维成员的值。
如下图立方体的三个维度分别为产品地区、产品类型及产生时间。根据维度进行切割后,每个维成员上的值,就是度量的值,也就是用户想要探索到的数据。
三、Kylin主要理念
Kylin的核心就是空间换时间。
下图中,一共有4个维度。除去0维,一共有15种情况。Kylin在预计算这15种情况时,第一种'A,B,C,D'这种情况由原始数据聚合而成,之后每层先通过MR计算'A,B,C,D'-'A,B,C','A,B,D','A,C,D','B,C,D'这种情况的结果,并根据维度逐级递减。每层递减时,每层的计算均为上一层MR任务结果的基础上再次进行计算。
「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。




