透EMR過 Studio 以EMR無伺服器執行互動式工作負載 - Amazon EMR

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

透EMR過 Studio 以EMR無伺服器執行互動式工作負載

概觀

互動式應用程式是啟用互動式功能的EMR無伺服器應用程式。使用 Amazon EMR 無伺服器互動式應用程式,您可以使用 Amazon Studio 中管理的 Jupyter 筆記本執行互動式工作負載。EMR這有助於資料工程師、資料科學家和資料分析師使用 EMR Studio,透過 Amazon S3 和 Amazon DynamoDB 等資料存放區中的資料集執行互動式分析。

EMR無伺服器中互動式應用程式的使用案例包括:

  • 資料工程師使用 EMR Studio 中的IDE經驗來建立ETL指令碼。指令碼會從現場部署擷取資料、轉換資料以進行分析,然後將資料存放在 Amazon S3。

  • 資料科學家使用筆記本來探索資料集,並訓練機器學習 (ML) 模型,以偵測資料集中的異常情況。

  • 資料分析師會探索資料集並建立可產生每日報告的指令碼,以更新商業儀表板等應用

必要條件

若要搭配EMR無伺服器使用互動式工作負載,您必須符合下列需求:

  • EMRAmazon EMR 6.14.0 及更高版本支援無伺服器互動式應用程式。

  • 若要存取互動式應用程式、執行您提交的工作負載,以及從 EMR Studio 執行互動式筆記本,您需要特定的權限和角色。如需詳細資訊,請參閱互動式工作負載所需權限

互動式工作負載所需權限

除了存取EMR無伺服器所需的基本權限之外,您還必須為IAM身分或角色設定其他權限:

存取您的互動式應用程式

設定 EMR Studio 的使用者和工作區權限。如需詳細資訊,請參閱 Amazon EMR 管理指南中的設定 EMR Studio 使用者許可。

執行透過EMR無伺服器提交的工作負載

設定工作執行時期角色。如需詳細資訊,請參閱建立任務執行期角色

若要從 EMR Studio 執行互動式筆記本

將下列其他權限新增至 Studio 使用者的IAM原則:

  • emr-serverless:AccessInteractiveEndpoints-授予訪問和連接到您指定為的交互式應用程序的權限Resource。需要此權限才能從 EMR Studio 工作區附加至EMR無伺服器應用程式。

  • iam:PassRole-授與存取您計劃在附加至應用程式時使用的IAM執行角色的權限。從 EMR Studio 工作區附加至EMR無伺服器應用程式需要適當的PassRole權限。

{ "Version": "2012-10-17", "Statement": [ { "Sid": "EMRServerlessInteractiveAccess", "Effect": "Allow", "Action": "emr-serverless:AccessInteractiveEndpoints", "Resource": "arn:aws:emr-serverless:Region:account:/applications/*" }, { "Sid": "EMRServerlessRuntimeRoleAccess", "Effect": "Allow", "Action": "iam:PassRole", "Resource": "interactive-execution-role-ARN", "Condition": { "StringLike": { "iam:PassedToService": "emr-serverless.amazonaws.com" } } } ] }

配置互動式應用

使用下列高階步驟建立具有來自 Amazon EMR Studio 的互動式功能的EMR無伺服器應用程式 AWS Management Console.

  1. 依照中的步驟Amazon EMR Serverless 入門建立應用程式。

  2. 然後,從 EMR Studio 啟動工作區,並作為運算選項連接到EMR無伺服器應用程式。如需詳細資訊,請參閱EMR無伺服器入門文件的步驟 2 中的互動式工作負載索引標籤。

當您將應用程式附加到 Studio 工作區時,如果應用程式尚未執行,應用程式會自動啟動觸發。您也可以預先啟動應用程式,並在將應用程式附加至工作區之前準備就緒。

互動式應用程式考量

  • EMRAmazon EMR 6.14.0 及更高版本支援無伺服器互動式應用程式。

  • EMRStudio 是唯一與EMR無伺服器互動式應用程式整合的用戶端。EMR無伺服器互動式應用程式不支援下列 EMR Studio 功能:工作區共同作業、SQL總管,以及筆記本的程式設計執行。

  • 只有 Spark 引擎才支援互動式應用程式。

  • 交互式應用程序支持 Python 3 PySpark 和星火斯卡拉內核。

  • 您可以在單一互動式應用程式上同時執行 25 筆記本。

  • 沒有支援具有互動式應用程式的自我託管 Jupyter 筆記本的端點或API介面。

  • 為了獲得最佳化的啟動體驗,我們建議您為驅動程式和執行程式設定預先初始化容量,並預先啟動應用程式。當您預先啟動應用程式時,請確保應用程式在您想要將其附加至工作區時已準備就緒。

    aws emr-serverless start-application \ --application-id your-application-id
  • 根據預設,autoStopConfig會針對應用程式啟用。這會在閒置 30 分鐘後關閉應用程式。您可以在create-applicationupdate-application請求中變更此組態。

  • 使用互動式應用程式時,建議您設定核心、驅動程式和執行程式的預先初始化容量,以執行筆記本。每個 Spark 互動式工作階段都需要一個核心和一個驅動程式,因此EMR無伺服器會為每個預先初始化的驅動程式維護預先初始化 根據預設,即使您未為驅動程式指定任何預先初始化容量,EMRServerless 仍會在整個應用程式中維護一個核心工作站的預先初始化容量。每個核心工作者都使用 4 v CPU 和 16 GB 的記憶體。如需目前的定價資訊,請參閱 Amazon EMR 定價頁面。

  • 您必須擁有足夠的 v CPU 服務配額 AWS 帳戶 以執行互動式工作負載。如果您未執行啟用 Lake 格式化的工作負載,建議至少 24 v。CPU如果這樣做,我們建議至少 28 v CPU。

  • EMR如果筆記型電腦閒置超過 60 分鐘,無伺服器會自動終止核心。EMR無伺服器會計算筆記型電腦工作階段期間上次完成活動的核心閒置時間。您目前無法修改核心閒置逾時設定。

  • 若要啟用具有互動式工作負載的 Lake Formation,請在建立EMR無伺服器應用程式時,spark.emr-serverless.lakeformation.enabled將組態設定為在runtime-configuration物件中的spark-defaults分類true下。要了解有關在EMR無伺服器中啟用 Lake Formation 的更多信息,請參閱在 Amazon EMR 中啟用 Lake Formation