功能 - Amazon EMR

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

功能

支援的技術

  • 語言:Python 和 Scala 應用程式

  • 建置系統:適用於 Scala 專案的 Maven 和 SBT;適用於 Python 專案的 requirements.txt、Pipfile 和 Setuptools

  • 目標平台:Amazon EMR 和 EMR Serverless

  • 支援的版本:我們支援從 2.4 版升級至 3.5 版的 Apache Spark 升級。對應的部署模式映射如下所示

    • 對於 EMR-EC2

      • 來源版本:EMR 5.20.0 及更新版本

      • 目標版本:EMR 7.12.0 及更早版本,應比 EMR 5.20.0 更新

    • 對於 EMR Serverless

      • 來源版本:EMR Serverless 6.6.0 及更新版本

      • 目標版本:EMR Serverless 7.12.0 及更早版本

我們升級的內容

升級代理程式提供完整的 Spark 應用程式升級:

  • 組建組態:自動更新相依性管理檔案 (pom.xml、Requirements.txt 等)

  • 原始程式碼:修正 API 相容性問題和已棄用的方法用量

  • 測試程式碼:確保單元和整合測試可與目標 Spark 版本搭配使用

  • 相依性:將封裝相依性升級至與目標 EMR 版本相容的版本

  • 驗證:編譯和驗證目標 EMR 叢集上的應用程式

  • 資料品質分析:偵測結構描述差異、值層級統計偏離 (min/max/mean) 和彙總資料列計數不相符,並產生詳細的影響報告。

可用的區域

Spark 升級代理程式可在下列區域使用:

  • 亞太區域:東京 (ap-northeast-1)、首爾 (ap-northeast-2)、新加坡 (ap-southeast-1)、雪梨 (ap-southeast-2) 和孟買 (ap-south-1)

  • 北美洲:加拿大 (ca-central-1)

  • 歐洲:斯德哥爾摩 (eu-north-1)、愛爾蘭 (eu-west-1)、倫敦 (eu-west-2)、巴黎 (eu-west-3) 和法蘭克福 (eu-central-1)

  • 南美洲:聖保羅 (sa-east-1)

  • 美國:北維吉尼亞 (us-east-1)、俄亥俄 (us-east-2) 和奧勒岡 (us-west-2)

升級範圍和使用者需求

  • 叢集管理:Spark 升級代理程式著重於應用程式程式碼升級。新版本的目標 EMR 叢集必須由使用者建立和管理。

  • 引導操作:Spark 升級代理程式不會升級 Spark 應用程式程式碼以外的自訂引導指令碼。使用者需要升級它們。

  • 建置和測試的升級:升級代理程式將在本機對您的開發環境執行建置和執行您的單元和整合測試,以驗證應用程式是否與目標 Spark 版本成功編譯。如果您有本機執行 Spark 應用程式程式碼的限制 (安全政策、資源限制、網路限制或公司準則),請考慮使用 Amazon SageMaker Unified Studio VSCode IDE Spaces 或 EC2 來執行升級代理程式。升級代理程式會使用目標 EMR-EC2 叢集或 EMR-S 應用程式來驗證和end-to-end。

  • 錯誤驅動方法:升級代理程式使用錯誤驅動的方法,根據編譯或執行時間錯誤,而不是一次進行多個修正。這種反覆方法可確保每個問題都得到適當的解決,然後再繼續進行下一個問題。

  • 私有相依性:在此程序中,從私有成品儲存庫安裝的相依性無法自動升級。使用者必須升級它們。

  • 區域資源:Spark 升級代理程式是區域性,並使用該區域中的基礎 EMR 資源進行升級程序。不支援跨區域升級。