logo

什么是麒麟(kylin)及kylin介绍


薛如花
薛如花 2024-03-14 17:57:35 14532 赞同 0 反对 0
什么是麒麟(kylin)及kylin介绍

1.kylin介绍(kylin.apache.org/cn/

  Apache Kylin™是一个开源的、分布式的分析型数据仓库,提供Hadoop/Spark 之上的SQL查询接口及多维分析(OLAP)能力以支持超大规模数据,最初由 eBay 开发并贡献至开源社区,它能在亚秒内查询巨大的表。文档一眼看过去,会发现一个OLAP看到OLAP就不得不提它的兄弟OLTP,我们简单来看看他们的全称和翻译的中文是什么:

  • OLTP:On-Line Transaction Processing(联机事务处理)
  • OLAP:On-Line Analytical Processing(联机分析处理)

    从应用层面看,我们可以简单地认为:OLTP主要用于业务系统,对事务的要求比较高,例如下单/交易(银行转账等业务)。OLAP主要用于数据仓库系统,支持复杂的分析操作,侧重决策支持,并且提供直观易懂的查询结果。

2.Kylin入门

    从前面我们已经知道为什么会出现如此多的OLAP的技术了,从本质上来说就是我们希望分析的数据可以让我们查得更快,而kylin是这些技术其中的一员。kylin是完全依赖Hadoop生态的,那kylin是怎么实现提速的呢?答案就是:预聚合。

    假设我们从MySQL检索日期大于2020-10-20的所有数据,只要我们在日期列加上索引,可以很快就能查出相关的数据。但如果我们从MySQL检索日期大于2020-10-20的所有数据且每个用户在这段时间内消费了多少钱且xxxx,只要数据量大,不论你怎么建索引,查询的速度就不尽人意了。按的维度先做好对每个用户的统计,写到一张表中,等到用户按日期检索的时候是不是就很快了(因为我已经按聚合了一次数据,这张表比起原来的原始表数量会大大减少)。kylin就是用预聚合这种思路来提高查询的速度,使它可以在亚秒内实现查询响应。

    那我们使用kylin的步骤是什么?官方已经帮我们解答了:

  1. 定义数据集上的一个星形或雪花形模型
  2. 在定义的数据表上构建cube
  3. 使用标准 SQL 通过 ODBCJDBCRESTFUL API 进行查询,仅需亚秒级响应时间即可获得查询结果

    使用kylin步骤:

  • 首先你得有数据(一般来自Hive/Kafka),在Kylin上定义对应的数据模型(结构)
  • 通过kylin系统配置需要聚合以及统计的字段(这块就是上面所提到的维度和度量),然后构建出Cube(这块就是kylin的预聚合,把需要统计的维度都定义好,提前计算)
  • kylin会把数据存放在HBase上,你可以通过JDBC/RESTful的方式来查询数据

如果您发现该资源为电子书等存在侵权的资源或对该资源描述不正确等,可点击“私信”按钮向作者进行反馈;如作者无回复可进行平台仲裁,我们会在第一时间进行处理!

评价 0 条
薛如花
粉丝 0 资源 13 + 关注 私信
最近热门资源
从数据容灾到业务级容灾:全面解析容灾备份技术体系  1078
最近下载排行榜
从数据容灾到业务级容灾:全面解析容灾备份技术体系 0
作者收入月榜
1

prtyaa 收益349.54元

2

风晓 收益207.64元

3

IT-feng 收益197.2元

4

777 收益169.69元

5

zlj141319 收益168.41元

6

1843880570 收益153.27元

7

信创来了 收益103.7元

8

Fhawking 收益99.55元

9

克里斯蒂亚诺诺 收益91.08元

10

技术-小陈 收益78.9元

请使用微信扫码