大咖分享

又快又好用的数据分析工具ApacheKylin来了!
北大青鸟总部

摘要:ApacheKylin是一个开源的分布式数据分析引擎,基于Hadoop提供SQL查询接口能力、多维数据分析能力,支持超大规模数据分析计算,能够在亚秒级别内查询超级大的Hive表数据,由eBay贡献开源。

互联网进入下半场,以数据资产为核心,数据分析做决策变为新一代互联网特色。在数据分析领域,涌现的产品形态有数据中台数据仓库数据湖数据集市,涌现的技术有实时计算、离线计算。涌现的工具框架有纯计算类HIve/Spark/Presto、存储框架Kudu、计算+存储框架Clickhouse/Druid/Elasticsearch、Hadoop生态HDFS+YARN+MapReduce。随着大家对数据分析的要求变高,希望耗时更短,使用更简单,新的数据分析工具也出现了,那就是ApacheKylin.

ApacheKylin是一个开源的分布式数据分析引擎,基于Hadoop提供SQL查询接口能力、多维数据分析能力,支持超大规模数据分析计算,能够在亚秒级别内查询超级大的Hive表数据,由eBay贡献开源。划重点:开源、亚秒查询、SQL查询、分布式,这表明Kylin免费、查询速度快、上手简单、高可用。我们互联网人的新福音又来了,又快又好用还免费,真的是太好了。

在了解Kylin为什么快之前,我们先看看其它的工具为什么慢?我们以Hadoop家族的Hive来看,Hive它是基于Hadoop的数据仓库工具,可将结构化的数据直接转换成数据库表,HIve系统将HQL语句转化成MapReduce进行执行,本质上就是一款基于HDFS的MapReduce计算框架。所有的数据分析任务都转化成MapReduce任务进行执行,当数据量变成PB、ZB级别时,当然就会变得很慢了,所有的数据也都存储在HDFS中,获取也很慢,业务人员在使用Hive时常常都需要等十几分钟或上半个小时。


那ApacheKylin到底是什么样子呢?在Kylin的技术架构中包含四大模块,即数据源、中心处理引擎、存储引擎、对外接口层,在数据源层可直接接收来自Kafka、RDBMS关系型数据库如Mysql、数据仓库Hive来的数据,在中心处理引擎层通过Cube构建引擎来做数据预聚合,聚合数据存储Hbase,最后支持通过API接口方式直接调用(对于使用JAVA开发的服务,也可以通过JDBC直接链接Kylin),业务人员通过SQL语句直接查询使用。



那Kylin又是怎么变快的呢?在Kylin的设计中,有一个模块是Cube引擎,就是它帮助Kylin变快的。我们知道在数据分析的时候,经常要获取多个维度的数据,就商品的售卖额来说,在做数据分析时,我们会关注某地区、某个时间点(比如双十一)、某商品(比如最热销商品)等维度的售卖额。这些分析内容映射到数据仓库时,分别是事实表和维度表,事实表按各个维度存储数据,每个数据的结果就是度量。数据分析就是结合若干个维度查看度量值,找到其中变化的规律。


在Kylin中通过Cube立方体的概念从多维度把数据给串联起来,接着我们刚刚的例子,因为有三个维度做分析,因此在Kylin中会建立一个三维的数据表时间、地区、品类)。在数据分析时可以拆分到三维、二维、一维,三维包含地区&品类&时间,二维包含地区品类、地区时间、品类时间,一维包含地区、品类、时间,每一维度的数据都提前聚合号存储在HBase中了,因此当数据分析时,直接拿聚合好的数据,当然比一个个的去执行MapReduce任务快了。



在计算层面快了,存储层面Hbase也是毫不逊色的。Hbase的数据存储实现方式是先将数据存储在内存,当内存的数据量超过限定时在存储磁盘,并且在磁盘中存储的数据是有顺序的(Hbase利用预写日志和内存把随机写的数据先排序好之后再写入内存)。因此在Hbase查询数据时,会先从内存去获取,内存找不到了再去磁盘获取,在磁盘获取的时候又是顺序获取(减少了磁盘寻道时间),所以当然很快了。在计算和存储两个方向都实现了加速,因此Kylin变快是毫无疑问的。

不过在使用Kylin时也需要注意一点,那就是Cube的多维度预聚合,如果聚合的维度比较多,比如有10个维度,那Kylin聚合出来的维度就会有2的10次方也就是1024多种,在Cube本身的聚合计算中也会变慢,因此业务可以根据自己需要来选择聚合的维度。

目前Kylin在数据分析领域已经火起来了,很多互联网公司,如滴滴、美团、携程、京东等都把Kylin融入到了他们的数据分析模型当中,除此之外,在物联网领域,它也正在大放异彩。工欲善其事,必先利其器,想要做好数据分析,有一款又快又好用的数据分析工具是必备的喔~


相关阅读
大数据应用能识别抑郁风险人群?准确率这么高!
我们是如何被大数据杀熟的?
大数据时代,我们如何选OLAP数据分析引擎
​如何从0到1搭建数据仓库?轻量级数据分析必备
阿里、亚马逊、微软等云厂商纷纷在做的数据湖到底是什么?
热门推荐