写点什么

Apache Kylin 发布 4.0.0-beta 稳定版本

2021 年 2 月 23 日

Apache Kylin发布4.0.0-beta稳定版本

Apache Kylin 社区日前正式发布了 4.0.0-beta 版本。Apache Kylin 是一个开源的分布式分析引擎,提供 Hadoop/Spark 之上的 SQL 查询接口及多维分析 (OLAP) 能力,支持对超大规模数据进行亚秒级查询。


Apache Kylin 4.0.0-beta 是继 Kylin 4.0.0-alpha 之后的一个重要版本。当前的 4.0.0-beta 是 Kylin 4.x 发布的第二个测试版本,修复了 4.0.0-alpha 中的若干 bug,并且补充了一些对 Kylin 3.x 原有功能的支持,包括 System Cube,Hadoop 3 的支持,部分高级函数,Cube Planner Phase 1 等等。


Kylin 4 使用 Parquet 这种真正的列式存储来代替 HBase 存储,从而提升文件扫描性能;同时,Kylin 4 重新实现了基于 Spark 的构建引擎和查询引擎,使得计算和存储的分离变为可能,更加适应云原生的技术趋势。


在互联网企业中的典型使用场景和相关性能测试结果为:


场景一(简单查询)

通过以上结果展示,可见在没有做查询优化的情况下,Kylin 4.0 简单查询的查询响应时间表现不及 Kylin 3.0。通过初步沟通和测试,经过 ShardBy Column 优化手段后,简单查询的查询响应时间可以降低 1~2s,与 Kylin 3.0 的性能变得更加接近。


Kylin 4.0 简单查询的查询响应时间表现不及 Kylin 3.0 的原因,经分析主要如下: 


  • HBase 对 rowkey 的索引速度快,Region 有缓存机制,容易实现亚秒级响应;

  • 本次测试使用的 Spark 3 开启了 AE,也会对小查询有一定的负面影响;

  • SparkSQL 执行需要准备时间进行节点分配和闭包分发,需要访问 Hadoop API 进行文件访问,这些额外的时间都是可以通过后续的优化来改善的,例如添加 Alluxio/JuiceFS 提供缓存。


场景二(返回结果行数多的查询)

这些 SQL 的模式主要是如下两类:


  • 模式一:SELECT DISTINCT product FROM table WHERE version IN ( ...so many versions... ) 

  • 模式二:SELECT package, SUM(occur), count(distinct device) FROM table WHERE version IN ( ...so many versions... ) group by package  


由于 IN 子句中包含过多的可选值,加上 package 是高基维度,导致 Kylin 在扫描和二次聚合的压力都非常大,Kylin 3.0 不适合进行这样的“导出式”查询。但 Kylin 4.0 利用 Spark 计算引擎的能力,能够在十分可观的时间内得出需要的结果。这里举个例子:


场景三(时间跨度大的查询)

这 4 个查询的 SQL 除了在时间范围上不同其他完全相同。从数据不难看出,时间跨度增长一倍,Kylin 3.0 需要扫描的数据量和查询响应时间也相应地增长近一倍。而 Kylin 4.0 使用 Spark 分布式计算,更高的并行度带来的优势便体现了出来。


当前 Kylin 4.0.0-beta 已经成为一个相对稳定的版本,在多个早期用户的测试验证中都验证了构建和查询功能基本达到相对完备的程度,但是目前仍有不少在性能和功能上的提升空间。


本次发布共添加了 25 个新功能以及改进,修复了 14 个问题,详情请访问:

https://kylin.apache.org/docs/release_notes.html


本次发布重要更新:

[KYLIN-4857] - 为 Kylin 4 重构 System Cube

[KYLIN-4842] - 为 Kylin 4 支持 grouping sets 函数

[KYLIN-4829] - 为查询引擎支持线程级别的 Spark 参数配置

[KYLIN-4813] - 为构建引擎重新开发日志系统

[KYLIN-4858] - 支持在 CDH 6.X 上部署 Kylin 4

[KYLIN-4818] - Kylin 4 支持 Cuboid 行数统计

[KYLIN-4817] - 为 Kylin 4 重构 Cube 迁移工具


下载 Apache Kylin 4.0.0-beta 源代码及二进制安装包,请访问下载页面:

https://kylin.apache.org/cn/download/


Kylin 官方 wiki:

https://cwiki.apache.org/confluence/display/KYLIN/User+Manual+4.X

2021 年 2 月 23 日 15:032053

评论

发布
暂无评论
发现更多内容

2020年11月最新分享,我凭借这份pdf拿下了蚂蚁金服、字节跳动等大厂的offer

Java成神之路

Java 程序员 架构 面试 编程语言

智慧城市管理平台,多规合一平台搭建解决方案

t13823115967

智慧城市

mybatis一级缓存是啥?5个面试题回答你

田维常

mybatis

炸锅了!国内首本通用源码阅读指定书籍:MyBatis源码详解

周老师

Java 编程 程序员 架构 面经

架构训练营-week13-总结

于成龙

LeetCode题解:18. 四数之和,哈希表,JavaScript,详细注释

Lee Chen

算法 LeetCode 前端进阶训练营

可视化指挥调度平台搭建,应急指挥调度监控中心建设方案

t13823115967

可视化 指挥调度

泡泡玛特市值千亿背后,我们为什么会为盲盒买单?

脑极体

阿里P8传授给小老弟的Java面试宝典,竟让让小弟也拿到了P8的offer,傻眼了

Java架构之路

Java 程序员 架构 面试 编程语言

阿里大牛亲自总结整理的一线互联网公司面试真题及面经(阿里、网易、字节)

Java架构之路

Java 程序员 架构 面试 编程语言

看了这个你还不懂mybatis缓存,单独找我

田维常

mybatis

天猫Java研发岗面经(技术三面):基础+算法+MySQL+Redis+秒杀架构

Java成神之路

Java 程序员 架构 面试 编程语言

7年开发的老油条,你不跳槽怎么涨薪?看我怎么拿到阿里P7offer的

Java成神之路

Java 程序员 架构 面试 编程语言

java代码优化技巧及原理

积极&丧

从月薪3K的Java菜鸟,到年薪80W的Java架构师,靠这份文档,让我学习像打怪升级一样简单!

Java架构之路

Java 程序员 架构 面试 编程语言

列举出常见的Java面试题100+,我靠这个在十月拿到了阿里的offer

Java架构之路

Java 程序员 架构 面试 编程语言

工厂模式学习

en

golang 设计模式 工厂模式

[架构师训练营第 1 期] 第 13 周学习总结

猫切切切切切

极客大学架构师训练营

字节三面远程,Java+Redis+网络+数据库+算法,轻松反杀面试官?

Java成神之路

Java 程序员 架构 面试 编程语言

第四周 系统架构 学习总结

feiyun123

极客大学架构师训练营

架构师训练营第 13 周作业

netspecial

极客大学架构师训练营

架构训练营-week13-作业1

于成龙

架构训练营

架构师训练营第九周作业

丁乐洪

第四周 系统架构 作业 「架构师训练营 3 期」

feiyun123

极客大学架构师训练营

北纬37°的浪漫与理性,穿越千年的信息之变

脑极体

科普:区块链中的公链和私链的有什么区别?

CECBC区块链专委会

公有链 私有链

mybatis二级缓存,7个问题拿下它

田维常

mybatis

面试必问系列,源码解析多线程绝对不容忽视得问题:线程活性故障

小Q

Java 学习 架构 面试 多线程

面试阿里被质问:ConcurrentHashMap线程安全吗

Java架构师迁哥

架构师训练营第 13 周课后练习

薛凯

在wildfly中使用SAML协议连接keycloak

程序那些事

程序那些事 SAML openid SSO wildfly

Apache Kylin发布4.0.0-beta稳定版本-InfoQ