Apache Kylin 4.0.0 正式發佈!

語言: CN / TW / HK

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 郵件列表:

[email protected]

[email protected]

*注意:該郵件列表需要訂閲才能使用。如未訂閲該郵件列表,請先發送郵件至 [email protected][email protected],並回復確認完成訂閲。

 

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/ 

 

推薦閲讀

有贊出品|升級 Kylin 4 最強攻略!

Kylin 4 最新功能預覽 + 優化實踐搶先看!!

全網第一份 Kylin 4.0 性能調優指南!

去 HBase,Kylin on Parquet 性能表現如何?

Kylin on Parquet 介紹和快速上手