Kylin系列(一)—— 入门

总目录

Kylin系列(一)—— 入门
Kylin系列(二)—— Cube 构造算法


因为平常只会使用kylin而不知其原理,故写下此篇文章。文章不是自己原创,是看过很多资料,查过很多博客,有自己的理解,觉得精华的部分的一个集合。算是自己对Kylin学习完的一个总结和概括吧。文章最后有链接,需要请自取。

前言

企业中的查询大致可分为即席查询和定制查询两种。很多的OLAP引擎包括Hive、Presto、SparkSQL,虽然很大成都上能降低数据分析的难度,但是他们都只适用于即席查询的场景。但是随着数据量和计算复杂度的增长,响应时间是无法保证的,这其实和业务需要是相违背的,数据分析师以及业务部门人员需要的对数据实时的反馈,才能更好对业务产生指导。

Kylin的产生就是为了解决如何对海量数据进行OLAP查询

Kylin是一个开源的分布式分析引擎,提供Hadoop之上的SQL查询接口及多维分析(OLAP)能力,也可以说Kylin就是基于Hadoop平台。

Kylin构建在Hadoop等分布式计算平台之上,充分利用了MapReduce的并行处理能力和可扩展基础设施,高效处理超大数据规模(其实kylin的中的cuboid都是基于MapReduce任务的),可根据数据的规模实现架构的可伸缩。

过程:
- 数据源(Hive、Kafla)
- 计算:构建多维立方体用MapRedue
- 存储:Hbase
- SQL查询解析: kylin SQL解析器

Kylin采用预计算的模式,用户只需提前定义好查询维度,Kylin将会帮助我们进行计算,并将结果存储到HBase中,为海量数据的查询和分析提供亚秒级返回,是空间换时间的解决方案。

其实就是用穷举的办法把所有可能涉及到的维度的组合数都算一遍。利用sql解析,利用Hbase的性能,从算好的结果中提取数据。

提一下,Apache Kylin是第一个由中国人主导的Apache顶级项目。

核心概念

数据仓库

Data Warehouse 简称DW,即数据仓库,是BI中的核心部分。主要是将不同数据源的数据整合到一起,通过多维分析等方式为企业提供决策支持和报表生成。

数据仓库和传统型数据仓库的用途是不同的。传统型数据仓库面向事务,而DW面向分析。传统型数据库更多的是对业务作出实时反应,涉及增删改查,所以需要遵循三大范式,需要ACID。而数据仓库中的数据多为历史数据,主要目的是为企业决策提供支持,所以可能存在大量数据冗余,但利于多个维度查询,为决策者提供更多观察角度。

传统BI中,数据仓库的数据会存储在Mysql、Sql Sever等数据库,而大数据领域常用的是Hive。Hive也是Kylin的默认数据源。

传统数仓和大数据数仓的区别

那么这里顺带提一句传统型数据仓库和大数据数据仓库之间的区别。为什么一定要是使用大数据数据仓库。

这里有几点理由:
1.数据源多样化
原来的数据源可能更多来自于交易数据,但是可能有:行为数据、财务数据等。
2.数据量暴涨
原来的数据源可能较单一,但是数据源多样化后,数据量暴涨,单机的运算无法满足。比如处理行为日志数据的需求,是没办法处理的。使用Hive后,可利用分布式和分区特效加快效

  • 14
    点赞
  • 98
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值