Kylin 简介(一)
什么是 Kylin
官网:http://kylin.apache.org/cn/
Apache Kylin 是 Hadoop/Spark 大数据平台上的一个开源的联机分析处理(OLAP)引擎
- Kylin 采用多维立方体预计算技术,实现了超高速的大数据 OLAP 分析,也就是要让大数据分析像使用数据库一样简单迅速,用户的查询请求可以在秒级返回,交互式数据分析以前所未有的速度释放大数据里潜藏的知识和信息
- Kylin 是第一个由中国人主导的 Apache 顶级开源项目,在国际开源社区具有极大的影响力。目前,全球已经有超过一千家企业将 Kylin 用于自身的关键业务分析
为何要用 Kylin
传统技术如 Hive、Spark SQL 等想要提高查询性能方法如下:
- 大规模并行处理(MPP)
- 列式存储
- 建索引
- 压缩
以上所有这些方法都只是提高了单位时间内计算机处理数据的能力,但是这些技术都不会改变一个事实,那就是查询时间与数据量之间成正比关系
当数据量翻倍,在不扩容的前提下,MPP、存储空间、索引文件和压缩文件都将翻倍,因此,查询时间也会翻倍,查询速度随之变为原来的一半。当数据量十倍百倍地增加时,查询速度就会十倍和百倍地降低,最终无法完成查询。
Kylin 预计算技术
大数据分析(OLAP)有两个事实,如下:
- 大数据查询要的一般是统计结果,是多条记录经过聚合函数计算后的统计值。原始的记录则不是必需的,或者是被访问的频率和概率极低
- 聚合是按照维度进行的,而维度的聚合可能性是有限的,一般不随数据的膨胀而线性增长
Kylin 预计算技术就是尽量多地预先计算聚合结果,在查询时刻也尽量使用预计算的结果得出查询结果,从而避免直接扫描可能无限增长的原始记录
举例
查询10月1日销售额最高的商品
select item,sum(sell_amount) from sell_details
where sell_date="2021-10-01"
group by item
order by sum(sell_amount) desc
传统的方法需要扫描所有的记录,找到 10月1日的销售记录,然后按商品聚合销售额,然后排序返回。假如 10月1日有 1 亿条交易记录,那么查询必需读取并累计至少 1 亿条记录,且查询速度会随将来销售的增加而逐渐下降,如果日交易量提高至 2 亿条,那么查询执行的时间可能会增加 1 倍。
预计算的方法则是会事先按维度[sell_date,item] 计算 sum(sell_amount) 并将其存储下来,在查询时找到 10 月 1日的销售商品就可以直接排序返回了。
读取的记录数最大不超过维度[sell_date,item]的组合数。显然数字将远远小于实际的销售记录,比如10月1日的1亿条记录包含了100万种商品,那么预计算后就只有100万条记录了,是原来的百分之一。并且这些记录是已经按商品聚合的结果,省去了运行时的聚合运算,从未来的发展看,查询速度只会随日期和商品数目的增长而变化,与销售记录总数不再有直接联系。
假如销售记录提高一倍到2亿,但只要商品总数不变,那么预计算的结果记录总数就不会变,查询的速度也不会变。
预计算就是 Kylin 在大规模并行处理和列式存储之外,提供给大数据分析的第三个关键技术。
预计算是空间换时间,在空间不敏感、需求相对稳定的时候,性价比有很大的优势
Kylin 主要特点
支持标准 SQL 接口
SQL 是绝大多数分析人员最熟悉的工具,也是大多数应用程序使用的编程接口,标准 SQL 接口是 Kylin 能够快速推广的关键原因
支持超大数据集
因为 Kylin 使用 Cube 预计算技术,使 Kylin 可以支撑的数据集大小没有上限,仅受限于存储系统和分布式计算系统的承载能力,并且查询速度不会随数据集的增大而减慢
Kylin 在数据集规模上的局限性主要在于维度的个数和接数。它们一般由数据模型决定,不随数据规模的增加而线性增长,也就是 Kylin 对未来数据增长有着更强的适应能力
支持亚秒级响应
Kylin 有优异的查询响应速度,这得益于预计算,很多复杂的计算如连接、聚合,在离线的预计算过程中就已经完成,这大大降低了查询时所需的计算量,提高了查询响应的速度
可伸缩性和高吞吐率
这主要还是归功于预计算降低了查询时所需的计算总量,使 Kylin 可以在相同的硬件配置下承载更多的并发查询
BI及可视化工具集成
Kylin 提供了丰富的 API 与现有的 BI 工具集成,如 ODBC、JDBC、Rest API 等。另外,Kylin 核心团队也贡献了 Zeppelin 及 Superset 的插件等免费可视化工具来访问 Kylin
Kylin 简介(一)的更多相关文章
- Kylin简介
来源 Cube: 用空间换时间(类似:BI分析) 预计算把用户需要查询的维度以及他们所对应的考量的值,存储在多维空间里 当用户查询某几个维度的时候,通过这些维度条件去定位到预计算的向量空间,通过再聚合 ...
- Apache Kylin 简介
http://kylin.apache.org/docs/index.html https://www.infoq.cn/article/vOrjsJCgVAVPim5hsj6p Kylin 的核心思 ...
- 基于CDH5.12安装Kylin及官方用例测试
1 kylin 简介 Apache Kylin是2013年由eBay 在上海的一个中国工程师团队发起的.基于Hadoop大数据平台的开源 OLAP引擎,它采用多维立方体预计算技术,利用空间换时间的方法 ...
- apache kylin的单节点及多节点安装
Kylin的使用安装文档Kylin简介Kylin是什么Apache Kylin是一个开源的分布式分析引擎,最初由eBay开发贡献至开源社区.它提供Hadoop之上的SQL查询接口及多维分析(OLAP) ...
- Apache kylin 入门
本篇文章就概念.工作机制.数据备份.优势与不足4个方面详细介绍了Apache Kylin. Apache Kylin 简介 1. Apache kylin 是一个开源的海量数据分布式预处理引擎.它通过 ...
- 顶级项目孵化的故事系列——Kylin的心路历程【转】
现在已经名满天下的 Apache Kylin,是 Hadoop 大数据生态系统不可或缺的一部分,要知道在 Kylin 项目早期,可是以华人为主的开源团队,一路披荆斩棘经过几年的奋斗,才在 Apache ...
- 【离线数仓】Day04-即席查询(Ad Hoc):Presto链接不同数据源查询、Druid建多维表、Kylin使用cube快速查询
一.Presto 1.简介 概念:大数据量.秒级.分布式SQL查询engine[解析SQL但不是数据库] 架构 不同worker对应不同的数据源(各数据源有对应的connector连接适配器) 优缺点 ...
- 交互式计算引擎MOLAP篇
交互式计算引擎MOLAP篇 摘自:<大数据技术体系详解:原理.架构与实践> MOLAP是一种通过预计算cube方式加速查询的OLAP引擎,它的核心思想是“空间换时间”,典型代表包括Drui ...
- Kylin的简介与安装部署
一.Kylin的概述 官方网址:http://kylin.apache.org/cn/ Apache Kylin™是一个开源的分布式分析引擎,提供Hadoop/Spark之上的SQL查询接口及多维分析 ...
- Kylin 架构模块简介
Apache Kylin™是一个开源的分布式分析引擎,提供Hadoop/Spark之上的SQL查询接口及多维分析(OLAP)能力以支持超大规模数据,最初由eBay Inc. 开发并贡献至开源社区.它能 ...
随机推荐
- 袋鼠云:拥抱DeepSeek大模型,做Data+AI的长期主义者
<数据资产管理白皮书>下载地址:https://www.dtstack.com/resources/1073/?src=szsm <行业指标体系白皮书>下载地址:https:/ ...
- 袋鼠云数据湖平台「DataLake」,存储全量数据,打造数字底座
一.什么是数据湖? 在探讨数据湖技术或如何构建数据湖之前,我们需要先明确,什么是数据湖? 数据湖的起源,应该追溯到2010年10月.基于对半结构化.非结构化存储的需求,同时为了推广自家的Pentaho ...
- 二、Linux基本应用工具
1.系统文件共享(网络) 通过网络文件共享协议(例如 SMB 或 NFS)来完成Ubuntu下的文件夹共享给 Windows 1.Samba 实现共享 安装samaba sudo apt update ...
- 用<marquee>实现图片上下滚动
首先让我们认识这个<marquee>标签,它是成对出现的标签,首标签<marquee>和尾标签</marquee>之间的内容就是滚动内容.<marquee&g ...
- ASP.NET Core Razor Pages 使用 视图(View) 组件
参考文章地址:为什么要在 ASP.NET Core 中使用视图组件 (telerik.com)为什么使用视图组件而不是分部视图?最大的原因是,在 Razor 页面中插入分部视图时,与调用 View 关 ...
- 学习spring cloud记录12-Feign常用自定义配置
前言 Feign被springboot自动装配,但是Feign也提供了可自定义修改配置,常用的修改是修改日志级别等,下面记录常用的配置. 知识 Feign常用自定义配置 类型 作用 说明 feign. ...
- Codeforces Round #690 (Div. 3) ABCDE题解
A. Favorite Sequence 思路:照着模拟即可. view code #include<iostream> #include<string> #include&l ...
- Absolute 如何实现居中
简介 html 中 absolute 元素如何实现居中,因为CSDN链接也很稳定就不贴了,留作备份 参考链接 & 实现 https://blog.csdn.net/HatOfDragon/ar ...
- Probability•概率的公理化定义•确定概率的方法{频率, 古典, 几何, 主观}•Joseph Louis Bertrand贝特朗奇多解论源于概率建模及其样本空间可有多种假设
Probability 概率的公理化定义 非负性 正则性 互不相容的可列可加性 确定概率的方法(一审题,二确定样本空间&Omega, 三确定事件集合, 四求解): 频率 抛硬币正面朝上次数: ...
- SciTech-BigDataAIML-Methodology方法论-Whole+Part整体和局部-$\large Supervised\ Statistical\ Model$统计模型和大量训练数据+Transformer核心原理+ MI移动互联+IoT万物互联-Economics经济-Politics政策
词汇 MI(Mobile Internet): 移动互联网 IoT(Internet of Things): 万物互联网 WE(Word Embedding): 词嵌入 PE(Positional E ...