Kyligence 2024 数智论坛暨春季发布会:以 AI 构建数智竞争力 即刻报名

Apache Kylin 4.0.0 正式发布!

Apache Kylin 社区于日前宣布:Apache Kylin 4.0.0 正式发布!欢迎大家下载使用。

Apache Kylin 是行业领先的开源分布式的分析型数据仓库,提供 Hadoop/Spark 之上的 SQL 查询接口及多维分析 (OLAP) 能力,支持对超大规模数据进行亚秒级查询,已被 eBay、腾讯、美团、滴滴、汽车之家、贝壳找房、OLX 集团等全球超过 1500 家企业采用。

 

1. Release Notes

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

Kylin 4.0.0 是继 4.0.0-alpha、4.0.0-beta 之后 Kylin 4 (Parquet Storage)的第一个正式版本,这次发布相对上次发布加入了构建性能优化查询性能优化Spark 3 支持元数据升级工具等若干重要特性。此次发布共添加了 32 个新功能和功能增强,修复了 10 个问题和缺陷等,详情请访问:https://kylin.apache.org/docs40/release_notes.html

在去 Hadoop 迈向云原生的进程中,Apache Kylin 也做了积极的尝试,通过使用对象存储代替 HDFS,使用 Spark Standalone 代替 Yarn,来逐渐降低 Kylin 的学习成本和维护难度,从而打造成为一个简化和统一的,拥有高性能和低 TCO 的 OLAP 平台。你可以通过以下文档来了解使用过程:https://kylin.apache.org/docs40/install/deploy_without_hadoop.html

 

2. 重要更新

[KYLIN-4925] - Use Spark 3 as build and query engine for Kylin 4
由于 Spark 2 即将结束其生命周期,Kylin 4.0 除了支持 Spark 2.4.7 作为构建和查询的引擎,也支持 Spark 3.1.1,从而可以利用到 Spark 3 在解决数据倾斜问题上的一些高级特性。关于 Spark 3 的支持,目前尚处于 experimental feature 阶段,欢迎大家使用和提出反馈。

[KYLIN-4966] - Refresh the existing segment according to the new cuboid list in kylin4

Kylin 4.0.0 中,由于一些问题目前还不支持 Cube Planner 第二阶段。为了补充 Cube 剪枝的能力,我们开发出可以动态增加和删除 cuboid 的特性,这个特性允许用户在 Cube Planner 第一阶段的剪枝优化基础下,根据自己查询历史,手动增加未被构建但是是常用的 cuboid。更新后的 cuboid 列表保存在元数据 CubeInstance 的 cuboid_bytes 字段中。了解更多开发背景和使用方式请参考:https://cwiki.apache.org/confluence/display/KYLIN/How+to+update+cuboid+list+for+a+cube

[KYLIN-4945] - Repartition encoded dataset to avoid data skew caused by a single column

在新的的构建任务中,Apache Kylin 使用 Spark 进行全局字典的构建,你可以通过下方链接来了解它的实现过程:https://cwiki.apache.org/confluence/display/KYLIN/Global+Dictionary+on+Spark

在构建过程中 repartition 算子容易出现数据倾斜的情况,严重时会极大影响构建速度,所以我们对倾斜数据设计了检测和特殊处理步骤,详情可以访问:https://issues.apache.org/jira/browse/KYLIN-4945

[KYLIN-4923] - CubeMigration Tools support migrate meta from 2.x/3.x cluster to 4.0 cluster

为了支持一些用户从 Kylin 2/3 升级到 Kylin 4.0,我们需要实现元数据的升级和转换,结合社区用户的升级实践,Kylin 4.0.0 中基于 Cube Migration Tool 实现了元数据升级工具。关于元数据升级工具的使用可以参考:https://cwiki.apache.org/confluence/display/KYLIN/How+to+migrate+metadata+to+Kylin+4

 
其他重要更新

[KYLIN-5019] - Avoid building global dictionary from all data of fact table each time

[KYLIN-4887] - Segment pruner support string type partition col in spark query engine

[KYLIN-4894] - Upgrade Apache Spark version to 2.4.7

[KYLIN-4903] - cache parent datasource to accelerate next layer’s cuboid building

[KYLIN-4936] - Exactly aggregation can’t transform to project

[KYLIN-5027] - Add the config of whether to build base cuboid in kylin4

[KYLIN-4897] - Add table snapshot and global dictionary cleaning in StorageCleanupJob

 

3. 下载

下载 Apache Kylin 4.0.0 源代码及二进制安装包,请访问下载页面:
https://kylin.apache.org/cn/download/

Kylin 4.0.0 分别为 Spark 2.4.7 和 Spark 3.1.1 两个 Spark 主要版本提供了适用的二进制包。我们分别在多个流行的 Hadoop 环境进行了兼容性验证测试,大家可以访问这篇 wiki 了解测试环境信息以及我们在测试过程中遇到的问题和解决办法 :

https://cwiki.apache.org/confluence/display/KYLIN/Support+Hadoop+Version+Matrix+of+Kylin+4
 

4. 升级

从 Kylin 2/3 升级到 Kylin 4.0.0 请参考此文档:
https://kylin.apache.org/docs40/howto/howto_upgrade.html

由于存储层发生很大变化,不再使用 HBase,所以从 Kylin 2/3 升级至 Apache Kylin 4 版本不再兼容之前的预计算生成的 Cube 数据,另外少部分元数据(例如引擎类型、度量类型等)也存在一定程度的不兼容,用户可以采用前文所说的元数据升级工具(KYLIN-4923)进行迁移,然后进行 Cube 重新构建。欢迎大家访问 wiki 来了解一些注意事项:https://cwiki.apache.org/confluence/display/KYLIN/FAQ+Kylin+4.X
 

5. Docker 体验

当前 Kylin 4.0.0 的 Docker 容器已经发布,用户无需安装 Hadoop,可以通过以下命令来在笔记本上体验 Kylin 4:


docker run -d \
-m 8G \
-p 7070:7070 \
-p 8088:8088 \
-p 50070:50070 \
-p 8032:8032 \
-p 8042:8042 \
-p 2181:2181 \
apachekylin/apache-kylin-standalone:4.0.0

* 注意:MAC Docker Desktop 用户,请将 Docker Desktop 中 Resource 的内存至少设置为 8 GB 以及 6 core,以保证能流畅运行 Kylin Standalone on Docker。
 

6. 反馈

如果您遇到疑问或问题,请发送邮件至 Apache Kylin user 或 dev 邮件列表:

user@kylin.apache.org

dev@kylin.apache.org

*注意:该邮件列表需要订阅才能使用。如未订阅该邮件列表,请先发送邮件至 user-subscribe@kylin.apache.org 或 dev-subscribe@kylin.apache.org,并回复确认完成订阅。
 

7. 社区贡献者

感谢所有参与 Kylin 4.0.0 版本设计、开发、测试、讨论的社区贡献者们:
Xiaoxiang Yu, Yaqian Zhang, Zhichao Zhang, RupengWang, kaiqi.xue, mingming.ge, Yongheng.Liu, Feng Zhu, Sun BiaoBiao, Tengting Xu, Congling Xia, harveyyue, JasonLee, Jiatao Tao, JiangYang, Lei Zhu, Linghui Zeng, nichunen, Pan Wang,  Sean-Gu, ShengJun Zheng, tianhui, Yangmin Luo, Yifei.Wu, yiming.xu

 
关于 Kylin 4.0 的使用架构、案例,最佳实践,欢迎访问我们的官网技术博客、微信公众号和 B 站系列视频来了解更多信息:

https://kylin.apache.org/blog/2021/06/17/Why-did-Youzan-choose-Kylin4/

https://kylin.apache.org/cn_blog/2021/07/29/kylin-on-parquet-new-architecture-share

添加企微

kyligence
关注我们

kyligence