DLA Spark雲端式原生架構,提供面向資料湖情境的資料分析和計算功能。開通DLA服務後,您只需簡單的配置,就可以提交Spark作業,無需關心Spark叢集部署。
雲原生資料湖分析(DLA)產品已退市,AnalyticDB for MySQL湖倉版支援DLA已有功能,並提供更多的功能和更好的效能。AnalyticDB for MySQL相關使用文檔,請參見Spark應用開發。
傳統開源Spark叢集版面臨的挑戰
Spark是巨量資料領域十分流行的引擎,面向資料湖情境,Spark本身內建的資料來源連接器,可以很方便的擴充介面。Spark既支援使用SQL,又支援編寫多種語言的DataFrame代碼,兼具易用性和靈活性。Spark一站式的引擎能力,可以同時提供SQL、流、機器學習、圖計算的能力。
但是對於傳統Spark叢集版,使用者首先需要部署一套開源巨量資料基礎組件:Yarn、HDFS、Zookeeper等,可能會存在以下問題:
使用門檻高:開發人員需要同時熟悉多種巨量資料元件,才能完成開發與營運相關工作,如果遇到疑難問題,還要去深入研究社區源碼。
營運成本高:企業往往需要一個營運團隊,以營運多套開源組件。營運團隊的職責包括配置資源節點、配置和部署開源軟體、監控開源組件、開源組件升級、叢集擴縮容等。典型的,為了滿足企業級需求,比如許可權隔離、監控警示等,還需要做定製化開發。
資源成本高:Spark作業負載往往具備波峰波穀的特點,在低峰期,Spark叢集的空閑資源是浪費的;Spark叢集的管控組件(比如,叢集Master節點,Zookeeper、Hadoop等後台進程的資源開銷等),是不會對使用者產生價值的,屬於額外開銷。
彈效能力不足:在業務高峰期,企業往往需要能夠準確預估資源需求,並及時擴容機器。如果擴容過多,則會存在資源浪費,如果擴容過少,則會影響業務。而且叢集擴容過程較複雜,時間也會較長,並且雲上容易出現資產庫存不足的問題。
解決方案
Serverless Spark是雲原生資料湖團隊基於Apache Spark打造的服務化的巨量資料分析與計算服務。方案架構圖如下所示:
Serverless Spark將Spark、Serverless、雲原生技術,深度整合到一起,相對於傳統開源Spark叢集版方案,具體以下優勢:
入門門檻低:Serverless Spark屏蔽掉了底層的基礎組件,提供簡單的API、指令碼以及控制台使用方式。開發人員只需要瞭解開源Spark的使用方式就可以進行巨量資料業務開發。
0營運:使用者只需通過產品介面管理Spark作業即可,無需關心伺服器配置以及Hadoop叢集配置,無需擴縮容等營運操作。
作業級細粒度的彈效能力:Serverless Spark按照Driver和Executor的粒度建立資源,相比於叢集版的計算節點,粒度要細很多,粒度細的好處是庫存不足的問題會大大降低。支援秒級拉起,目前每分鐘可以拉起500~1000個計算節點,可以快速響應業務資源需求。
更低成本:每作業,每賬單,不使用不收費。使用者無需為管控資源付費,無需為低峰期閒置計算資源付費。
良好的效能:雲原生資料湖團隊對Spark引擎做了深度定製和最佳化,特別是針對雲產品,比如OSS,典型情境下,效能可以提升3~5倍。
說明關於進一步的性價比對比資料,您可以參考性價比白皮書中的測試結果。
企業級能力:Serverless Spark跟Serverless Presto共用中繼資料,可以通過GRANT、REVOKE語句對子使用者進行許可權管理。提供服務化的UI服務,相較於社區HistoryServer方式,無論作業多複雜,已耗用時間多長,都可以秒級開啟。
基本概念
虛擬叢集(Virtual Cluster)
Serverless Spark採用多租戶模式,Spark進程運行在安全隔離的環境中,虛擬叢集是資源隔離和安全隔離的單元。區別於傳統實體集群,虛擬叢集中沒有固定的計算資源,您無需配置和維護計算節點,只需根據實際業務需要分配資源額度和配置待訪問目標資料所在的網路環境。同時,虛擬叢集也可以配置預設的Spark作業參數,方便您統一管理Spark作業。
計算單元CU(Compute Unit)
CU主要是Serverless Spark計量的基本單元,1CU=1 vCPU 4GB Memory。作業結束後,DLA會按照Driver和Executor實際使用的總和CU * 時,進行計量。具體的計費資訊,請參考計費概述。
資源規格(Resource Specification)
Serverless Spark底層採用阿里雲輕量虛擬機器ECI,ECI跟ECS類似,都具備規格,DLA平台對具體的ECI規格進行了屏蔽、簡化,使用者只需要配置small、medium、large這樣的簡單配置即可,平台在調度的時候會優先使用高效能運算資源。
資源規格
計算資源
消耗的CU數
c.small
1Core 2GB
0.8CU
small
1Core 4GB
1CU
m.small
1Core 8GB
1.5CU
c.medium
2Core 4GB
1.6CU
medium
2Core 8GB
2CU
m.medium
2Core 16GB
3CU
c.large
4Core 8GB
3.2CU
large
4Core 16GB
4CU
m.large
4Core 32GB
6CU
c.xlarge
8Core 16GB
6.4CU
xlarge
8Core 32GB
8CU
m.xlarge
8Core 64GB
12CU
c.2xlarge
16Core 32GB
12.8CU
2xlarge
16Core 64GB
16CU
m.2xlarge
16Core 128GB
24CU
開始使用Serverless Spark
您可以參考DLA Spark快速入門來提交您的第一個Spark作業。
如果您需要訪問資料來源,請參考串連資料來源目錄下面的文檔。
如果您對時空計算有需求,請參考資料湖時空引擎Ganos。
如果您想聯絡我們做進一步交流,請參考專家服務。