作者:億緹希技術(shù)(上海)有限公司 馬博、王建春
一、背景介紹
一體系汽配供應(yīng)鏈平臺(以下簡稱一體系),專注提供高品質(zhì)發(fā)動機、變速箱、底盤技術(shù)零部件,融匯優(yōu)質(zhì)實體資源和創(chuàng)新互聯(lián)網(wǎng)科技,為上游品牌商提供高效的下沉渠道,為下游零售商帶來可信賴的產(chǎn)品和服務(wù),讓采購更便捷可靠,實現(xiàn)行業(yè)數(shù)字化轉(zhuǎn)型。
● 隨著企業(yè)對實時數(shù)據(jù)分析、AI 能力和大規(guī)模數(shù)據(jù)處理的需求不斷增長,平臺數(shù)據(jù)量龐大且持續(xù)增長、數(shù)據(jù)呈現(xiàn)半結(jié)構(gòu)化及非結(jié)構(gòu)化等特點的現(xiàn)狀,傳統(tǒng)的本地大數(shù)據(jù)平臺在存儲、彈性、成本、運維復(fù)雜度、深度挖掘、AI支持等方面逐漸暴露出瓶頸。與此同時,云計算的成熟與普及催生了全新的“Serverless 數(shù)據(jù)計算架構(gòu)”,為構(gòu)建下一代云原生數(shù)據(jù)平臺提供了可能。
● 阿里云 E-MapReduce(簡稱:EMR)推出的 EMR Serverless Spark 和 EMR Serverless StarRocks,正是這一趨勢下的重要技術(shù)產(chǎn)品。這兩個產(chǎn)品結(jié)合阿里云一站式數(shù)據(jù)開發(fā)治理平臺 DataWorks,共同構(gòu)建了一個高效、靈活、低成本的數(shù)據(jù)分析體系。
為了應(yīng)對新的業(yè)務(wù)挑戰(zhàn),一體系選擇與阿里云合作,利用其強大的EMR平臺,構(gòu)建了符合業(yè)務(wù)場景和分析師習(xí)慣的工程解決方案。
本文將從架構(gòu)演進的角度出發(fā),探討如何通過 EMR Serverless Spark 和 DataWorks 實現(xiàn)從傳統(tǒng) Hadoop 平臺向云原生架構(gòu)的平滑遷移與持續(xù)優(yōu)化。
二、為什么選擇阿里云EMR Serverless Spark
EMR Serverless Spark 是一款兼容開源 Spark 的高性能 Lakehouse 產(chǎn)品。它為用戶提供任務(wù)開發(fā)、調(diào)試、發(fā)布、調(diào)度和運維等全方位的產(chǎn)品化服務(wù),顯著簡化了大數(shù)據(jù)計算的工作流程,無需用戶管理底層集群即可直接提交作業(yè),支持批處理和流式計算。使用戶能更專注于數(shù)據(jù)分析和價值提煉。
● 豐富的功能支持:支持權(quán)限管理、資源配額與任務(wù)隔離。兼容 Apache Spark API,現(xiàn)有任務(wù)可無縫遷移。
● 靈活的計費方式:僅對實際使用的 CPU、內(nèi)存和執(zhí)行時間計費。
● 良好的引擎性能:內(nèi)置 Spark Native Engine,相對開源版本性能提升3倍。
● 完善的服務(wù)保障:根據(jù)任務(wù)負載動態(tài)分配資源,提升性能與成本效益。無需關(guān)注集群部署、擴縮容、故障恢復(fù)等底層操作。
三、技術(shù)方案設(shè)計
一體系通過阿里云 EMR Serverless Spark,實現(xiàn)了數(shù)據(jù)與 AI 技術(shù)的有效融合,并結(jié)合EMR Serverless StarRocks 搭建了 Lakehouse 平臺。該平臺核心部分如下:
首先,上游數(shù)據(jù)通過DataWorks的數(shù)據(jù)集成,實時以 Apache Paimon格式寫入數(shù)據(jù)湖,寫入時開啟自動Compaction,用于平衡寫入和讀取性能。同時湖表元數(shù)據(jù)同步至DLF,以保持?jǐn)?shù)據(jù)的實時性。
其次,通過 Serverless Spark 構(gòu)建了數(shù)倉經(jīng)典分層架構(gòu),95%的數(shù)據(jù)源采用DataWorks數(shù)據(jù)集成的實時入湖(ODS),經(jīng)過清洗轉(zhuǎn)化為明細數(shù)據(jù)(DWD),然后根據(jù)主題將明細層數(shù)據(jù)輕度聚合(DWS),再根據(jù)特定應(yīng)用或業(yè)務(wù)場景提供高質(zhì)量的指標(biāo)數(shù)據(jù)(ADS),為上層業(yè)務(wù)系統(tǒng)提供支持。
在BI應(yīng)用方面,一體系通過Dataworks調(diào)度 StarRocks任務(wù),通過使用異步物化視圖,加速數(shù)據(jù)湖查詢,為數(shù)據(jù)湖中的報表和應(yīng)用實現(xiàn)更高的并發(fā),以及更好的性能。同時將 StarRocks 本地表中的實時數(shù)據(jù)與數(shù)據(jù)湖中的歷史數(shù)據(jù)關(guān)聯(lián)起來以進行增量計算。為上層應(yīng)用提供 Dashboard 和報表支持,提升了數(shù)據(jù)的可視化和決策能力。
在 ML/AI 應(yīng)用方面,一體系通過Dataworks調(diào)度 Spark 任務(wù),進行數(shù)據(jù)的計算和聚合,處理后的指標(biāo)數(shù)據(jù)從數(shù)據(jù)湖推送到了AI知識庫,推動了 Data + AI 技術(shù)在實際業(yè)務(wù)中的應(yīng)用。
以下架構(gòu)圖展示了如何利用 Serverless Spark 結(jié)合開源湖格式 Paimon、ML/AI 的多種工具庫,以及阿里云 DLF 統(tǒng)一湖倉管理平臺,實現(xiàn)高效的數(shù)據(jù)處理和AI賦能,使用 Serverless StarRocks 實現(xiàn)極速數(shù)據(jù)分析,為業(yè)務(wù)應(yīng)用帶來顯著的提升。

四、數(shù)據(jù)平臺演進
第一階段(評估),明確現(xiàn)狀與目標(biāo),選型階段我們做了很多的調(diào)研,綜合各個方面考慮(湖倉一體、存算分離、彈性伸縮、開箱即用、運維監(jiān)控、長期支持等),選擇一個成熟且統(tǒng)一的平臺:既能夠支持?jǐn)?shù)據(jù)處理、數(shù)據(jù)分析場景,也能夠很好地支撐數(shù)據(jù)科學(xué)場景,于是選擇了阿里云EMR。
第二階段(適配),任務(wù)兼容性驗證,基于原數(shù)據(jù)平臺Apache Ambari+Azkaban的構(gòu)建,梳理 Hadoop 任務(wù)、依賴關(guān)系、數(shù)據(jù)流向等,將作業(yè)適配到 EMR Serverless 環(huán)境,測試性能與穩(wěn)定性,確保 Spark SQL、UDF、依賴庫等均兼容 EMR Serverless Spark。
第三階段(遷移),分批切換任務(wù),在 DataWorks 中創(chuàng)建新任務(wù)和流程編排,使用 Spark 作為計算引擎,逐步替代原有腳本和jar包,將數(shù)據(jù)遷移到 OSS 或OSS-HDFS 中,實現(xiàn)存儲與計算解耦。
第四階段(優(yōu)化),性能調(diào)優(yōu)與成本控制,EMR Serverless Spark 提供了Fusion引擎,性能提升顯著。StarRocks提供了可視化慢SQL,及SQL查詢分析能力,方便運維管理。利用 Serverless 特性優(yōu)化資源配置,提升性價比。
第五階段(治理),統(tǒng)一平臺管理,借助 DataWorks 實現(xiàn)任務(wù)統(tǒng)一調(diào)度、監(jiān)控與治理,結(jié)合EMR Serverless Spark 和 EMR Serverless StarRocks的一站式的數(shù)據(jù)平臺服務(wù),極大地簡化了數(shù)據(jù)處理的全生命周期工作流程。
五、業(yè)務(wù)場景介紹
隨著企業(yè)加速數(shù)字化應(yīng)用的廣度和深度,平臺運營數(shù)據(jù)成為驅(qū)動業(yè)務(wù)增長、改善用戶體驗、提升運營效率的核心資產(chǎn)。數(shù)據(jù)處理架構(gòu)滿足了日益增長的數(shù)據(jù)量、實時性要求及靈活分析能力的需求,不僅解決了企業(yè)在日常海量運營數(shù)據(jù)分析的性能瓶頸、成本壓力與運維難題,更為企業(yè)提供了敏捷開發(fā)、智能分析、持續(xù)演進的能力支撐。
場景1:基于業(yè)務(wù)交易端到端數(shù)據(jù)的深度應(yīng)用,動態(tài)、靈活制定運營策略,指導(dǎo)各業(yè)務(wù)端開展針對性的工作,達到公司中、短期目標(biāo)。
● EMR Serverless Spark:對來自多個系統(tǒng)的交易數(shù)據(jù)進行清洗、合并、維度建模。
● DataWorks:統(tǒng)一編排每日/每小時任務(wù),保障數(shù)據(jù)準(zhǔn)時產(chǎn)出。
● OLAP 引擎:使用 StarRocks 進行實時查詢與可視化分析。
● ML 模型集成:通過 Spark MLlib 接入模型,進行特定場景針對性的策略制定。
場景2:客戶服務(wù)分析對于提升客戶滿意度、增強品牌忠誠度以及優(yōu)化整體運營效率至關(guān)重要。通過全面的數(shù)據(jù)分析,快速識別客戶服務(wù)中的薄弱環(huán)節(jié),制定有效的改進措施。
● EMR Serverless Spark:負責(zé)對業(yè)務(wù)全過程數(shù)據(jù)的清洗、聚合計算。
● DataWorks:統(tǒng)一調(diào)度 Spark 任務(wù),管理依賴關(guān)系,保障任務(wù)鏈穩(wěn)定性。
● StarRocks:用于物化視圖加速湖倉數(shù)據(jù),交互式查詢與報表展示。
● 報表對接:通過統(tǒng)一接口將分析結(jié)果接入報表系統(tǒng)。
六、Serverless Spark 產(chǎn)品優(yōu)勢
● 云原生極速計算引擎
內(nèi)置 Spark Native Engine,相對開源版本性能提升3倍; 內(nèi)置企業(yè)級 Celeborn (Remote Shuffle Service),支持 PB 級 Shuffle 數(shù)據(jù),計算資源總成本最高下降 30%
● 彈性資源管理
資源調(diào)度具備秒級彈性,支持按需分配最小粒度為 1 核的資源,按任務(wù)或隊列級別進行精細化資源計量,確保資源使用的最大化與靈活性。
● DATA 和 AI
提供完全兼容 PySpark/Python 的開發(fā)與運行環(huán)境,支持 Python 生態(tài)的機器學(xué)習(xí) Lib,以及 Spark MLlib,支持產(chǎn)品化管理 Python 三方依賴庫。
● 生態(tài)兼容
具備強大的兼容性與集成能力。支持 DLF 和 Hive MetaStore 數(shù)據(jù)目錄,兼容 Paimon、Iceberg、Hudi 和 Delta 等主流湖格式,可對接 Airflow 和 Dolphin Scheduler 等主流調(diào)度系統(tǒng),支持 Kerberos/LDAP 認證和 Ranger 鑒權(quán),還支持 DataWorks 和 DBT 提交任務(wù),全方位滿足用戶需求。
七、遷移后的收益
● 技術(shù)層面
○ 數(shù)據(jù)入湖:
■ 采用了 Apache Paimon 作為數(shù)據(jù)湖存儲格式,并集成了 Apache Spark、Flink 作為計算引擎,構(gòu)建了一個完整的數(shù)據(jù)湖倉系統(tǒng)。這一系統(tǒng)已經(jīng)在實時數(shù)據(jù)監(jiān)控和分析等場景中得到了成熟的應(yīng)用,顯著提升了我們的數(shù)據(jù)處理能力和業(yè)務(wù)效率。
○ 研發(fā)效率:
■ 遷移到 EMR Serverless Spark + Dataworks架構(gòu)后,使用 Spark SQL 會話功能快速開發(fā)驗證+Dataworks 生產(chǎn)調(diào)度的模式,研發(fā)效率顯著提升,保障了關(guān)鍵業(yè)務(wù)的數(shù)據(jù)產(chǎn)出支持。
○ 運維保障:
■ EMR Serverless Spark 的多版本管理能力為用戶提供了靈活的選擇空間,支持快速升級至最新優(yōu)化版本,自動化的擴縮容、故障恢復(fù)等功能減少了手動干預(yù)的需求,降低運維壓力。
● 業(yè)務(wù)層面
○ 數(shù)據(jù)響應(yīng)時長:大量作業(yè)由小時級提高到分鐘級,生產(chǎn)速度得到大幅提升。
○ 彈性伸縮能力:根據(jù)任務(wù)的實際需求動態(tài)調(diào)整資源規(guī)模,確保在高峰期也能保持良好的性能表現(xiàn),同時在低谷期節(jié)省開支。
八、總結(jié)及后續(xù)期待
我們基于阿里云 EMR Serverless Spark 技術(shù)棧快速構(gòu)建了全新的大數(shù)據(jù)平臺,相比開源版本3倍以上的性能優(yōu)勢以及計算/存儲分離的架構(gòu),極大提升了我們數(shù)據(jù)團隊的效能,為開展業(yè)務(wù)分析提供快速數(shù)據(jù)交付能力。從傳統(tǒng) Hadoop 到 Serverless Spark,不僅是技術(shù)架構(gòu)的升級,更是企業(yè)數(shù)據(jù)能力的一次質(zhì)變,構(gòu)建了一個面向未來的一體化云原生數(shù)據(jù)平臺,為AI應(yīng)用的深度融合,奠定數(shù)字化基礎(chǔ)。
“EMR Serverless Spark 助力我們實現(xiàn)高效、彈性、易維護的數(shù)據(jù)處理,邁向更智能、更敏捷的云原生數(shù)據(jù)平臺。未來可期,繼續(xù)攜手前行!”
—— 一體系平臺架構(gòu)師
星空人工智能技術(shù)網(wǎng) 倡導(dǎo)尊重與保護知識產(chǎn)權(quán)。如發(fā)現(xiàn)本站文章存在版權(quán)等問題,煩請30天內(nèi)提供版權(quán)疑問、身份證明、版權(quán)證明、聯(lián)系方式等發(fā)郵件至1851688011@qq.com我們將及時溝通與處理。?。?a href="/">首頁 > 大數(shù)據(jù) » 一體系數(shù)據(jù)平臺的進化:基于阿里云 EMR Serverless Spark的持續(xù)演進