Spark on MaxCompute是MaxCompute提供的相容開源Spark的計算服務。它在統一的計算資源和資料集許可權體系之上,提供Spark計算架構,支援您以熟悉的開發使用方式提交運行Spark作業,滿足更豐富的資料處理分析需求。
使用限制
Spark on MaxCompute支援如下情境:
離線計算情境,例如GraphX、Mllib、RDD、Spark-SQL、PySpark等。
讀寫MaxCompute Table。
引用MaxCompute中的檔案資源。
讀寫VPC環境下的服務。例如,RDS、Redis、HBase、ECS上部署的服務等。
讀寫OSS非結構化儲存。
Spark on MaxCompute暫不支援如下情境:
互動式和Realtime Compute類需求,例如Spark-Shell、Spark-SQL-Shell、PySpark-Shell、Spark Streaming等。
不支援訪問MaxCompute外部表格、內建函數和自訂函數(MaxCompute UDF)。
不支援Checkpoint功能。
關鍵特性
支援原生多版本Spark作業。
MaxCompute支援社區原生Spark、完全相容Spark的API,同時支援多個Spark版本同時運行。Spark on MaxCompute提供原生的Spark WebUI供您查看。
統一的計算資源。
Spark on MaxCompute類似MaxCompute SQL、MapReduce等作業類型,運行在MaxCompute專案統一開通的計算資源中。
統一的資料和許可權管理。
完全遵循MaxCompute專案的許可權體系,在訪問使用者權限範圍內安全地查詢資料。
與開源系統相同的使用體驗。
Spark on MaxCompute與社區開源Spark保持相同的體驗(例如開源應用的UI介面、線上互動等),完全符合Spark使用者使用習慣。開源應用的調試過程中需要使用開源UI,Spark on MaxCompute提供原生的開源即時UI和查詢歷史日誌的功能。其中,對於部分開源應用還支援互動式體驗,在後台引擎運行後即可進行即時互動。
系統結構
Spark on MaxCompute是阿里雲通過Spark on MaxCompute的解決方案,讓原生Spark能夠在MaxCompute中運行。
左側是原生Spark的架構圖,右側的Spark on MaxCompute運行在阿里雲自研的Cupid平台之上,該平台可以原生支援開源社區Yarn所支援的計算架構。