Amazon EMR Serverless 架構選項 - Amazon EMR

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

Amazon EMR Serverless 架構選項

Amazon EMR Serverless 應用程式的指示集架構決定應用程式用來執行任務的處理器類型。Amazon 為您的應用程式EMR提供兩種架構選項:x86_64arm64。EMR 無伺服器會在最新一代執行個體可用時自動更新,因此您的應用程式可以使用較新的執行個體,而無需您付出額外的努力。

使用 x86_64 架構

x86_64 架構也稱為 x86 64 位元或 x64。x86_64 是無EMR伺服器應用程式的預設選項。此架構使用 x86 型處理器,並與大多數第三方工具和程式庫相容。

大多數應用程式與 x86 硬體平台相容,並且可以在預設 x86_64 架構上成功執行。不過,如果您的應用程式與 64 位元相容ARM,則您可以切換至 arm64,以使用 Graviton 處理器來改善效能、運算能力和記憶體。與在 x86 架構上執行大小相等的執行個體相比,在 arm64 架構上執行執行個體的成本較低。

使用 arm64 架構 (Graviton)

AWS Graviton 處理器是由 AWS 使用 64 位元 ARM Neoverse 核心自訂設計,並利用 arm64 架構 (也稱為 Arch64 或 64 位元 ARM)。EMR Serverless 上可用的 AWS Graviton 處理器系列包括 Graviton3 和 Graviton2 處理器。相較於在 x86_64 架構上執行的同等工作負載,這些處理器可為 Spark 和 Hive 工作負載提供卓越的價格效能。EMR 無伺服器會在可用時自動使用最新一代的處理器,而不需要您為升級至最新一代的處理器而付出任何努力。

使用 Graviton 支援啟動新應用程式

使用下列其中一種方法來啟動使用 arm64 架構的應用程式。

AWS CLI

若要從 使用 Graviton 處理器啟動應用程式 AWS CLI,請在 中指定 create-application ARM64作為 architecture 參數API。在其他參數中為您的應用程式提供適當的值。

aws emr-serverless create-application \ --name my-graviton-app \ --release-label emr-6.8.0 \ --type "SPARK" \ --architecture "ARM64" \ --region us-west-2
EMR Studio

若要從 EMR Studio 使用 Graviton 處理器啟動應用程式,請在建立或更新應用程式時選擇 arm64 作為架構選項。

設定現有應用程式以使用 Graviton

您可以設定現有的 Amazon EMR Serverless 應用程式,將 Graviton (arm64) 架構與 SDK AWS CLI、 或 EMR Studio 搭配使用。

若要將現有應用程式從 x86 轉換為 arm64
  1. 確認您使用的是支援 architecture 參數的 AWS CLI/SDK 最新主要版本。

  2. 確認沒有任務正在執行,然後停止應用程式。

    aws emr-serverless stop-application \ --application-id application-id \ --region us-west-2
  3. 若要更新應用程式以使用 Graviton,請在 中ARM64architecture 參數指定 update-application API。

    aws emr-serverless update-application \ --application-id application-id \ --architecture 'ARM64' \ --region us-west-2
  4. 若要驗證應用程式的CPU架構現在為 ARM64,請使用 get-application API。

    aws emr-serverless get-application \ --application-id application-id \ --region us-west-2
  5. 當您準備好時,請重新啟動應用程式。

    aws emr-serverless start-application \ --application-id application-id \ --region us-west-2

使用 Graviton 時的考量事項

使用 arm64 for Graviton 支援啟動 EMR Serverless 應用程式之前,請確認下列事項。

程式庫相容性

當您選取 Graviton (arm64) 作為架構選項時,請確定第三方套件和程式庫與 64 位元ARM架構相容。如需如何將 Python 程式庫封裝至與所選架構相容的 Python 虛擬環境中的詳細資訊,請參閱 將 Python 程式庫與 EMR Serverless 搭配使用

若要進一步了解如何設定 Spark 或 Hive 工作負載以使用 64 位元 ARM,請參閱 上的 AWS Graviton 入門儲存庫 GitHub。此儲存庫包含可協助您開始使用 ARM型 Graviton 的重要資源。