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 個問題和缺陷等,詳情請訪問:http://kylin.apache.org/docs40/release_notes.html 

在去 Hadoop 邁向雲原生的程序中,Apache Kylin 也做了積極的嘗試,通過使用物件儲存代替 HDFS,使用 Spark Standalone 代替 Yarn,來逐漸降低 Kylin 的學習成本和維護難度,從而打造成為一個簡化和統一的,擁有高效能和低 TCO 的 OLAP 平臺。你可以通過以下文件來了解使用過程:http://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 欄位中。瞭解更多開發背景和使用方式請參考:http://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 進行全域性字典的構建,你可以通過下方連結來了解它的實現過程:http://cwiki.apache.org/confluence/display/KYLIN/Global+Dictionary+on+Spark  

在構建過程中 repartition 運算元容易出現數據傾斜的情況,嚴重時會極大影響構建速度,所以我們對傾斜資料設計了檢測和特殊處理步驟,詳情可以訪問:http://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 實現了元資料升級工具。關於元資料升級工具的使用可以參考:http://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 原始碼及二進位制安裝包,請訪問下載頁面:

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

Kylin 4.0.0 分別為 Spark 2.4.7 和 Spark 3.1.1 兩個 Spark 主要版本提供了適用的二進位制包。我們分別在多個流行的 Hadoop 環境進行了相容性驗證測試,大家可以訪問這篇 wiki 瞭解測試環境資訊以及我們在測試過程中遇到的問題和解決辦法 :

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

 

4. 升級

從 Kylin 2/3 升級到 Kylin 4.0.0 請參考此文件:

http://kylin.apache.org/docs40/howto/howto_upgrade.html

由於儲存層發生很大變化,不再使用 HBase,所以從 Kylin 2/3 升級至 Apache Kylin 4 版本不再相容之前的預計算生成的 Cube 資料,另外少部分元資料(例如引擎型別、度量型別等)也存在一定程度的不相容,使用者可以採用前文所說的元資料升級工具(KYLIN-4923)進行遷移,然後進行 Cube 重新構建。歡迎大家訪問 wiki 來了解一些注意事項:

http://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]

*注意:該郵件列表需要訂閱才能使用。如未訂閱該郵件列表,請先發送郵件至 user-subscr[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 站系列視訊來了解更多資訊:

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

http://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 介紹和快速上手