一、Kylin简介
Kylin的出现就是为了解决大数据系统中TB级别数据的数据分析需求,它提供Hadoop/Spark之上的SQL查询接口及多维分析(OLAP)能力以支持超大规模数据,它能在亚秒内查询巨大的Hive表。其核心是预计算,计算结果存在HBase中。
作为大数据分析神器,它也需要站在巨人的肩膀上,依赖HDFS、MapReduce/Spark、Hive/Kafka、HBase等服务。
二、Kylin优势
Kylin的主要优势为以下几点:
- 可扩展超快OLAP引擎:Kylin是为减少在Hadoop/Spark上百亿规模数据查询延迟而设计
- Hadoop ANSI SQL 接口:Kylin为Hadoop提供标准SQL支持大部分查询功能
- 交互式查询能力:通过Kylin,用户可以与Hadoop数据进行亚秒级交互,在同样的数据集上提供比Hive更好的性能
- 多维立方体(MOLAP Cube):用户能够在Kylin里为百亿以上数据集定义数据模型并构建立方体
- 与BI工具无缝整合:Kylin提供与BI工具的整合能力,如Tableau,PowerBI/Excel,MSTR,QlikSense,Hue和SuperSet
- 其它特性:Job管理与监控;压缩与编码;增量更新;利用HBase Coprocessor;基于HyperLogLog的Dinstinc Count近似算法;友好的web界面以管理,监控和使用立方体;项目及表级别的访问控制安全;支持LDAP、SSO
三、基本原理
Kylin的核心思想是预计算。
理论基础是:以空间换时间。即多维分析可能用到的度量进行预计算,将计算好的结果保存成Cube并存储到HBase中,供查询时直接访问。
大致流程:将数据源(比如Hive)中的数据按照指定的维度和指标,由计算引擎Mapreduce离线计算出所有可能的查询结果(即Cube)存储到HBase中。HBase中每行记录的Rowkey由各维度的值拼接而成,度量会保存在column family中。为了减少存储代价,这里会对维度和度量进行编码。查询阶段,利用HBase列存储的特性就可以保证Kylin有良好的快速响应和高并发。
想要了解跟多关于大数据培训课程内容欢迎关注尚硅谷大数据培训,尚硅谷除了这些技术文章外还有免费的高质量大数据培训课程视频供广大学员下载学习
上一篇: Java培训课程之jquery对象与dom对象
下一篇: 前端培训apply和 call 的区别,什么时候用