EasyMR6.2 全面解讀:四大功能深度最佳化,解鎖全新大資料處理和計算體驗

袋鼠云数栈發表於2024-04-22

在剛剛過去的2024春季釋出會上,袋鼠雲帶來了數棧產品V6.2版本的全新發布。其中,EasyMR 作為數棧V6.2中的一項關鍵能力,代表了袋鼠雲對大資料生態的深入理解和持續創新。

EasyMR(後文統稱EMR)是袋鼠雲基於 Hadoop、Hive、Spark、Flink、HBase 等開源元件,構建的彈性計算引擎,提供安全可靠、彈性伸縮、低成本的大資料儲存與計算服務。其中自主研發的 EasyManager 企業級大資料運維管理平臺支援 Hadoop 叢集的一站式建立、管理、部署、運維與監控功能,提供高效搭建資料中臺解決方案。

面對企業日益增長的資料處理和分析需求,EMR6.2版本,將為使用者提供更為出色的大資料運維服務及計算效能最佳化。以下是針對 EMR6.2 版本四大功能最佳化的詳細介紹,幫助使用者全面瞭解這一創新產品。

UI全面煥新升級:簡約舒適的互動體驗

袋鼠雲深知使用者體驗的重要性,因此在 EMR6.2 版本中,我們對 UI 介面進行了全面的煥新升級。新的介面設計遵循了簡約而不失優雅的風格,旨在為使用者提供一個直觀、舒適的互動體驗。無論是新手還是資深使用者,都能迅速上手,輕鬆管理複雜的大資料叢集。

此外,我們還最佳化了介面的響應速度和操作流暢性,確保使用者在叢集運維時能夠享受到更加順滑的操作體驗。

file
file

差異化配置:滿足多樣化需求

EMR6.2 版本引入了例項組-差異化配置功能,允許使用者根據自己的具體需求定製叢集配置。使用者可以把 EMR 叢集中的不同節點構建獨立例項組,例項組中設定特定的配置引數,以實現更好的效能、資源利用和任務排程。

無論是對於成本敏感的初創企業,還是對於效能有更高要求的大型企業,EMR6.2 都能提供靈活的配置選項,滿足不同使用者的需求。

file

針對例項組實行差異化配置策略,其具體優勢包括但不限於以下幾點:

● 資源分配

差異化配置能有效針對各類任務的獨特需求進行精細化資源配置,涵蓋計算、儲存和網路資源等多個層面。避免資源浪費,同時提高資源利用率,確保叢集的各項任務都能得到合適的資源支援。

● 任務排程最佳化

針對不同型別的任務或作業,可以根據其特點設定不同的配置引數,以最佳化任務排程和執行效率。

● 容錯與穩定性

透過差異化配置,可以提高叢集的容錯能力和穩定性。根據節點或例項組的重要性和負載情況,可以設定不同的容錯機制和故障處理策略,確保叢集在面對異常情況時能夠保持穩定執行。

● 成本管理

差異化配置還可以幫助管理成本,根據業務需求和預算限制,對叢集中的不同例項組進行合理配置,避免資源浪費,降低運維成本,並在效能和成本之間找到平衡點。

叢集遷移:無縫過渡,業務不中斷

隨著企業的業務發展,不斷增長的資料量往往會導致資料中心的容量不足或者資料中心變更等問題,企業需要將資料從一個資料中心遷移到另一個資料中心。同時在國產化平替背景下,越來越多的企業將 CDH、HDP、CDP 等非信創平臺遷移到國產化大資料平臺。因此 EMR 推出了大資料叢集遷移功能,可以幫助企業高效地完成資料中心的遷移。

叢集遷移功能支援使用者在不同的資料中心或雲服務之間無縫遷移他們的大資料叢集,而無需擔心資料丟失或業務中斷。透過這一功能,企業可以更加靈活地調整其IT基礎設施,以適應不斷變化的市場需求。

file

file

引擎升級大揭秘:效能飛躍,全新體驗

最令人激動的是,EMR6.2 版本在計算引擎效能上實現了重大突破。我們不僅對現有的 Spark、Flink 計算引擎進行了問題最佳化,還引入了新的演算法和技術,以提高資料處理速度和計算效率。這意味著使用者可以在更短的時間內完成更復雜的資料分析任務,從而加快決策過程,提升企業競爭力。

● Spark3 支援 Z-oreder 索引最佳化

Z-Order 是一種可以將多維資料壓縮到一維的技術,對於一條資料來說,我們可以將其多個要排序的欄位看作是資料的多個維度,Z-Order 可以透過一定的規則將多維資料對映到一維資料上。

具體表現為透過一定的規則構建 z-value 值,該 z-value 值可以理解為上文所提到的一維資料,此時我們就可以基於該一維資料進行排序。如下圖所示:

file

在 Spark SQL 中,袋鼠雲新增 OPTIMIZE XX ZORDER BY 語法來支援 Z-Order 索引,實現了 INSERT INTO table 、INSERT OVERWRITE table、CREATE TABLE table AS SELECT、DISTINCT 等 SQL 的 Z-Order 索引最佳化。

Spark3 支援 Z-order 最佳化後極大提高了資料處理和查詢的效率,減少 IO 開銷,加速作業的執行速度。特別是在需要處理大規模資料集和複雜查詢操作的場景下,Z-order 最佳化可以發揮重要作用。在解決檔案壓縮率的問題上,使用 Z-order 最佳化後,檔案壓縮率相比手動最佳化提升了近 20%,相比原始任務提升了近10倍, 對比開源 Spark3 的任務也有近 30% 的效能提升,極大提升了離線作業的效能和效率。

● Flink Per-job 任務熱更新

實際的生產作業中,往往會出現實時任務引數變更或者運算元、函式調優等情況,通常只能先取消當前任務,再選擇 CheckPoint 恢復或者重新執行,整個過程大概需要3-5分鐘等待,極大浪費任務開發時間。

為了解決傳統 Per-Job 模式下任務更新導致的服務中斷問題,提高任務的穩定性和系統的可用性,滿足生產環境中對業務連續性和高可用性的要求。袋鼠雲引擎團隊進行了相關探索及原始碼的改進,在 Per-Job 任務取消的非同步回撥裡進行任務的熱重啟最佳化

①首先判斷當前是否存在新的 JobGraph 快取,存在快取時進入熱重啟邏輯

②獲取取消任務的 CheckPoint 資訊,填充到新的 JobGraph

③將 JobGrap 更新到 JobMaster,清理 JobGraph 的快取資訊

④清除 JobMaster 裡 SloyPool 管理的資源

⑤JobMaster 重新建立 ScheduleNg 並排程執行,至此開啟新的 JobGraph 排程執行

file

Flink Per-job 任務熱更新最佳化之後顯著提高了開發效率,減少停機時間並提升了應用程式的靈活性和可靠性。對於需要快速迭代和動態調整的實時應用程式,帶來極致的效率體驗。

· 提高開發效率: 開發人員可以快速測試和迭代程式碼,而無需經歷繁瑣的停止和重啟過程,這加快了開發週期,並允許更頻繁的釋出

· 減少停機時間: 熱更新可以最大限度地減少應用程式的停機時間,從而提高服務的可用性,對於關鍵任務和實時應用程式,尤為重要

· 動態調整引數: 可以動態調整作業配置引數,例如並行度或運算元引數,而無需重啟作業,允許根據實時資料流或負載情況進行靈活調整

● 其他功能開發

此外,在引擎側我們還進行了 Spark Ranger 對接Spark 物化檢視最佳化Flink Session 模式類載入隔離等功能開發,提升引擎計算效能的同時增強引擎的任務安全性和可擴充套件性。

總結

總結而言,EMR6.2 版本的釋出,標誌著袋鼠雲在大資料服務領域的又一重要里程碑。透過UI全面煥新升級、差異化配置、叢集遷移以及引擎升級等四大功能的最佳化,EMR6.2 為使用者提供了一個更加強大、靈活和高效的大資料計算引擎平臺,助力企業在資料管理和分析方面實現質的飛躍。

《行業指標體系白皮書》下載地址:https://www.dtstack.com/resources/1057?src=szsm

《數棧產品白皮書》下載地址:https://www.dtstack.com/resources/1004?src=szsm

《資料治理行業實踐白皮書》下載地址:https://www.dtstack.com/resources/1001?src=szsm

想了解或諮詢更多有關大資料產品、行業解決方案、客戶案例的朋友,瀏覽袋鼠雲官網:https://www.dtstack.com/?src=szbky

相關文章