

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

# 透過 EMR Studio 使用 EMR Serverless 執行互動式工作負載
<a name="interactive-workloads"></a>

使用 EMR Serverless 互動式應用程式，使用 EMR Studio 中託管的筆記本，為 Spark 搭配 EMR Serverless 執行互動式工作負載。

## 概觀
<a name="interactive-overview"></a>

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

EMR Serverless 中互動式應用程式的使用案例包括下列項目：
+ 資料工程師使用 EMR Studio 中的 IDE 體驗來建立 ETL 指令碼。指令碼從內部部署擷取資料、轉換資料進行分析，並將資料存放在 Amazon S3 中。
+ 資料科學家使用筆記本來探索資料集，並訓練機器學習 (ML) 模型來偵測資料集中的異常。
+ 資料分析師會探索資料集並建立指令碼，以產生每日報告來更新業務儀表板等應用程式。

## 先決條件
<a name="interactive-prereqs"></a>

若要搭配 EMR Serverless 使用互動式工作負載，請滿足下列需求：
+ Amazon EMR 6.14.0 及更高版本支援 EMR Serverless 互動式應用程式。
+ 若要存取您的互動式應用程式、執行您提交的工作負載，以及從 EMR Studio 執行互動式筆記本，您需要特定的許可和角色。如需詳細資訊，請參閱 [互動式工作負載的必要許可](#interactive-permissions)。

## 互動式工作負載的必要許可
<a name="interactive-permissions"></a>

除了[存取 EMR Serverless 所需的基本許可](setting-up.md#setting-up-iam)之外，請為您的 IAM 身分或角色設定其他許可：

**存取您的互動式應用程式**  
設定 EMR Studio 的使用者和工作區許可。如需詳細資訊，請參閱《*Amazon* [EMR 管理指南》中的設定 EMR Studio 使用者許可](https://docs.aws.amazon.com/emr/latest/ManagementGuide/emr-studio-user-permissions.html)。

**執行您使用 EMR Serverless 提交的工作負載**  
設定任務執行時間角色。如需詳細資訊，請參閱 [建立任務執行時間角色](getting-started.md#gs-runtime-role)。

**從 EMR Studio 執行互動式筆記本**  
將下列額外許可新增至 Studio 使用者的 IAM 政策：  
+ **`emr-serverless:AccessInteractiveEndpoints`** - 准許存取和連線到您指定為 的互動式應用程式`Resource`。從 EMR Studio 工作區連接到 EMR Serverless 應用程式需要此許可。
+ **`iam:PassRole`** - 准許存取您在連接到應用程式時計劃使用的 IAM 執行角色。從 EMR Studio 工作區連接到 EMR Serverless 應用程式需要適當的`PassRole`許可。  
****  

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

## 設定互動式應用程式
<a name="interactive-configure"></a>

使用下列高階步驟，透過 中的 Amazon EMR Studio 建立具有互動式功能的 EMR Serverless 應用程式 AWS 管理主控台。

1. 遵循 中的步驟[Amazon EMR Serverless 入門](getting-started.md)來建立應用程式。

1. 然後，從 EMR Studio 啟動工作區，並連接至 EMR Serverless 應用程式做為運算選項。如需詳細資訊，請參閱 [EMR Serverless 入門](https://docs.aws.amazon.com/emr/latest/EMR-Serverless-UserGuide/getting-started.html#gs-job-run-console)文件步驟 2 中的**互動式工作負載**索引標籤。

當您將應用程式連接到 Studio 工作區時，如果應用程式尚未執行，應用程式會自動啟動觸發。您也可以在將應用程式連接至工作區之前，預先啟動應用程式並保持就緒狀態。

## 互動式應用程式的考量事項
<a name="interactive-considerations"></a>
+ Amazon EMR 6.14.0 及更高版本支援 EMR Serverless 互動式應用程式。
+ EMR Studio 是唯一與 EMR Serverless 互動式應用程式整合的用戶端。EMR Serverless 互動式應用程式不支援下列 EMR Studio 功能：工作區協同合作、SQL Explorer 和筆記本的程式設計執行。
+ 只有 Spark 引擎支援互動式應用程式。
+ 互動式應用程式支援 Python 3、PySpark 和 Spark Scala 核心。
+ 您可以在單一互動式應用程式上執行最多 25 個並行筆記本。
+ 沒有端點或 API 界面支援具有互動式應用程式的自我託管 Jupyter 筆記本。
+ 為了獲得最佳化的啟動體驗，建議您為驅動程式和執行器設定預先初始化的容量，並預先啟動應用程式。當您預先啟動應用程式時，請確保在想要將其連接至工作區時已準備就緒。

  ```
  aws emr-serverless start-application \ 
  --application-id your-application-id
  ```
+ 根據預設， `autoStopConfig` 會針對應用程式啟用 。這會在閒置 30 分鐘後關閉應用程式。您可以在 `create-application`或 `update-application`請求中變更此組態。
+ 使用互動式應用程式時，建議您設定核心、驅動程式和執行器的預先初始化容量，以執行您的筆記本。每個 Spark 互動式工作階段都需要一個核心和一個驅動程式，因此 EMR Serverless 會為每個預先初始化的驅動程式維護一個預先初始化的核心工作者。根據預設，EMR Serverless 在整個應用程式中維護一個核心工作者的預先初始化容量，即使您未為驅動程式指定任何預先初始化容量。每個核心工作者使用 4 個 vCPU 和 16 GB 的記憶體。如需目前定價資訊，請參閱 [Amazon EMR 定價](https://aws.amazon.com/emr/pricing/)頁面。
+ 您的 中必須有足夠的 vCPU 服務配額 AWS 帳戶 ，才能執行互動式工作負載。如果您不執行已啟用 Lake Formation 的工作負載，我們建議至少 24 個 vCPU。如果您這麼做，我們建議至少使用 28 個 vCPU。
+ 如果核心閒置超過 60 分鐘，EMR Serverless 會自動從筆記本終止核心。EMR Serverless 會從筆記本工作階段期間完成的最後一個活動計算核心閒置時間。您目前無法修改核心閒置逾時設定。
+ 若要使用互動式工作負載啟用 Lake Formation，請在建立 EMR Serverless 應用程式時，在 `runtime-configuration` 物件的 `spark-defaults`分類`spark.emr-serverless.lakeformation.enabled``true`下將組態設定為 。 [https://docs.aws.amazon.com/emr/latest/EMR-Serverless-UserGuide/getting-started.html](https://docs.aws.amazon.com/emr/latest/EMR-Serverless-UserGuide/getting-started.html)若要進一步了解，請參閱在 [Amazon EMR 中啟用 Lake Formation](https://docs.aws.amazon.com/emr/latest/EMR-Serverless-UserGuide/emr-serverless-lf-enable.html#emr-serverless-lf-enable-config)。