本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
Amazon EMR Serverless 架構選項
Amazon EMR Serverless 應用程式的指示集架構決定應用程式用來執行任務的處理器類型。Amazon 為您的應用程式EMR提供兩種架構選項:x86_64 和 arm64。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 架構的應用程式。
設定現有應用程式以使用 Graviton
您可以設定現有的 Amazon EMR Serverless 應用程式,將 Graviton (arm64) 架構與 SDK AWS CLI、 或 EMR Studio 搭配使用。
若要將現有應用程式從 x86 轉換為 arm64
-
確認您使用的是支援
architecture
參數的 AWS CLI/SDK最新主要版本。 -
確認沒有任務正在執行,然後停止應用程式。
aws emr-serverless stop-application \ --application-id
application-id
\ --regionus-west-2
-
若要更新應用程式以使用 Graviton,請在 中
ARM64
為architecture
參數指定update-application
API。aws emr-serverless update-application \ --application-id
application-id
\ --architecture 'ARM64' \ --regionus-west-2
-
若要驗證應用程式的CPU架構現在為 ARM64,請使用
get-application
API。aws emr-serverless get-application \ --application-id
application-id
\ --regionus-west-2
-
當您準備好時,請重新啟動應用程式。
aws emr-serverless start-application \ --application-id
application-id
\ --regionus-west-2
使用 Graviton 時的考量事項
使用 arm64 for Graviton 支援啟動 EMR Serverless 應用程式之前,請確認下列事項。
程式庫相容性
當您選取 Graviton (arm64) 作為架構選項時,請確定第三方套件和程式庫與 64 位元ARM架構相容。如需如何將 Python 程式庫封裝至與所選架構相容的 Python 虛擬環境中的詳細資訊,請參閱 將 Python 程式庫與 EMR Serverless 搭配使用。
若要進一步了解如何設定 Spark 或 Hive 工作負載以使用 64 位元 ARM,請參閱 上的 AWS Graviton 入門