

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

# EMR Studio 功能、需求和限制
<a name="emr-studio-considerations"></a>

本主題包含使用 Amazon EMR Studio 時要考慮的項目，包括有關區域和工具、叢集需求和技術限制的考量。

## 考量事項
<a name="emr-studio-considerations-general"></a>

使用 EMR Studio 時應考慮以下內容：
+ EMR Studio 可在下列位置使用 AWS 區域：
  + 美國東部 (俄亥俄) (us-east-2)
  + 美國東部 (維吉尼亞北部) (us-east-1)
  + 美國西部 (加利佛尼亞北部) (us-west-1)
  + 美國西部 (奧勒岡) (us-west-2)
  + 非洲 (開普敦) (af-south-1)
  + 亞太區域 (香港) (ap-east-1)
  + 亞太區域 （雅加達） (ap-southeast-3)\*
  + 亞太區域 （墨爾本） (ap-southeast-4)\*
  + 亞太地區 (孟買) (ap-south-1)
  + 亞太區域 (大阪) (ap-northeast-3)\*
  + 亞太地區 (首爾) (ap-northeast-2)
  + 亞太地區 (新加坡) (ap-southeast-1)
  + 亞太地區 (雪梨) (ap-southeast-2)
  + 亞太地區 (東京) (ap-northeast-1)
  + 加拿大 (中部) (ca-central-1)
  + 歐洲 (法蘭克福) (eu-central-1)
  + 歐洲 (愛爾蘭) (eu-west-1) 
  + 歐洲 (倫敦) (eu-west-2)
  + 歐洲 (米蘭) (eu-south-1)
  + 歐洲 (巴黎) (eu-west-3)
  + 歐洲 (西班牙) (eu-south-2)
  + 歐洲 (斯德哥爾摩) (eu-north-1)
  + 歐洲 （蘇黎世） (eu-central-2)\*
  + 以色列 （特拉維夫） (il-central-1)\*
  + 中東 （阿拉伯聯合大公國） (me-central-1)\*
  + 南美洲 (聖保羅) (sa-east-1)
  + AWS GovCloud （美國東部） (gov-us-east-1)
  + AWS GovCloud （美國西部） (gov-us-west-1)

  \* 這些區域不支援即時 Spark UI。
+ 若要讓使用者針對工作區佈建在 Amazon EC2 上執行的新 EMR 叢集，您可以將 EMR Studio 與一組叢集範本建立關聯。系統管理員可以使用 Service Catalog 定義叢集範本，並且可以選擇使用者或群組是否可以存取 Studio 中的叢集範本，或不存取叢集範本。
+ 當您定義存放在 Amazon S3 中的筆記本檔案的存取許可或從中讀取秘密時 AWS Secrets Manager，請使用 Amazon EMR 服務角色。這些許可不支援工作階段政策。
+ 可以建立多個 EMR Studio，以控制對不同 VPC 中 EMR 叢集的存取。
+ 使用 AWS CLI 設定 Amazon EMR on EKS 叢集。然後，可以使用 Studio 介面將叢集附接至具有受管端點的作業區，以執行筆記本作業。
+ 當您將 Trusted Identity Propagation 與 Amazon EMR 搭配使用時，還有其他考量事項也適用於 EMR Studio。如需詳細資訊，請參閱[Amazon EMR 與 Identity Center 整合的考量事項和限制](emr-idc-considerations.md)。
+ EMR Studio 不支援下列 Python 魔術命令：
  + `%alias`
  + `%alias_magic`
  + `%automagic`
  + `%macro`
  + `%%js`
  + `%%javascript`
  + 使用 `%configure` 修改 `proxy_user`
  + 使用 `%env` 或 `%set_env` 修改 `KERNEL_USERNAME`
+ Amazon EMR on EKS 叢集 不支援 EMR Studio 的 SparkMagic 命令。
+ 要在筆記本單元格中撰寫多行 Scala 陳述式，請確保除最後一行以外的所有陳述式以句點結尾。以下範例使用了多行 Scala 陳述式的正確語法。

  ```
  val df = spark.sql("SELECT * from table_name).
          filter("col1=='value'").
          limit(50)
  ```
+ 為了增強可能與 Amazon EMR 搭配使用的主控台外應用程式的安全性，應用程式託管網域會在公用尾碼清單 (PSL) 中註冊。這些託管網域的範例包括：`emrstudio-prod.us-east-1.amazonaws.com`、`emrnotebooks-prod.us-east-1.amazonaws.com`、`emrappui-prod.us-east-1.amazonaws.com`。為了加強安全性，如果您需要在預設網域名稱中設定敏感性 Cookie，我們建議您使用具 `__Host-` 前置詞的 Cookie。這將有助於保護您的網域免受跨站請求偽造 (CSRF) 攻擊。如需詳細資訊，請參閱《Mozilla 開發人員網路》**中的 [https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Set-Cookie#cookie_prefixes](https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Set-Cookie#cookie_prefixes) 頁面。
+ Amazon EMR Studio Workspaces 和持久性 UI 端點使用 FIPS 140 驗證的密碼編譯模組進行encryption-in-transit，以便更輕鬆地為受管制的工作負載採用服務。如需持久性 UI 端點的其他內容，請參閱在 [Amazon EMR 中檢視持久性應用程式使用者介面](https://docs.aws.amazon.com/emr/latest/ManagementGuide/app-history-spark-UI.html)。如需筆記本的其他內容，請參閱 [Amazon EMR 筆記本概觀](https://docs.aws.amazon.com/emr/latest/ManagementGuide/emr-managed-notebooks.html)。

## 已知問題
<a name="emr-studio-known-issues"></a>
+ 使用已啟用 Trusted Identity Propagation 之 IAM Identity Center 的 EMR Studio 只能與也使用 Trusted Identity Propagation 的 EMR 叢集建立關聯。
+ 建立 Studio 之前，請務必在瀏覽器中停用代理管理工具，例如 FoxyProxy 或 SwitchyOmega。當您選擇**建立 Studio** 時，作用中的代理可能會導致錯誤，並導致**網路失敗**錯誤訊息。
+ 在 Amazon EMR on EKS 叢集上執行的核心可能會因為逾時問題而無法啟動。如果您在啟動核心時遇到錯誤或問題，則請關閉筆記本檔案，關閉核心，然後重新開啟筆記本檔案。
+ 當您使用 Amazon EMR on EKS 叢集時，**重新啟動核心**操作無法如預期般運作。選取**重新啟動核心**之後，請重新整理工作區以使重新啟動生效。
+ 如果工作區未附接至叢集，則當 Studio 使用者開啟筆記本檔案並嘗試選取核心時，會顯示錯誤訊息。可以選擇**確定**來忽略此錯誤訊息，但您必須將工作區附接至叢集並選取核心，才能執行筆記本程式碼。
+ 使用具有[安全組態](https://docs.aws.amazon.com/emr/latest/ManagementGuide/emr-security-configurations.html)的 Amazon EMR 6.2.0 來設定叢集安全性時，工作區介面會顯示為空白，無法如預期般運作。如果想要為叢集的 EMRFS 設定資料加密或 Amazon S3 授權，建議使用其他受支援的 Amazon EMR 版本。EMR Studio 適用於 Amazon EMR 版本 5.32.0 (Amazon EMR 5.x 系列) 和 6.2.0 (Amazon EMR 6.x 系列) 及更高版本。
+ 當您進行 [對 Amazon EC2 作業上執行的 Amazon EMR 進行偵錯](emr-studio-debug.md#emr-studio-debug-ec2) 時，叢集上 Spark UI 的連結可能無法運作或無法顯示。若要重新產生連結，請建立新的筆記本儲存格並執行 `%%info` 命令。
+ Jupyter Enterprise Gateway 不會清除下列 Amazon EMR 發行版本中叢集主節點上的閒置核心：5.32.0、5.33.0、6.2.0 和 6.3.0。閒置核心會消耗運算資源，並可能導致長時間執行的叢集失敗。可以使用下列範例指令碼，為 Jupyter Enterprise Gateway 設定閒置核心清理。您可以 [使用 SSH 連線至 Amazon EMR 叢集主節點](emr-connect-master-node-ssh.md)，或提交指令碼作為一個步驟。如需詳細資訊，請參閱在 [Amazon EMR 叢集上執行命令和指令碼](https://docs.aws.amazon.com/emr/latest/ReleaseGuide/emr-commandrunner.html)。

  ```
  #!/bin/bash
  sudo tee -a /emr/notebook-env/conf/jupyter_enterprise_gateway_config.py << EOF
  c.MappingKernelManager.cull_connected = True
  c.MappingKernelManager.cull_idle_timeout = 10800
  c.MappingKernelManager.cull_interval = 300
  EOF
  sudo systemctl daemon-reload
  sudo systemctl restart jupyter_enterprise_gateway
  ```
+ 當您搭配使用自動終止政策與 Amazon EMR 5.32.0、5.33.0、6.2.0 或 6.3.0 時，Amazon EMR 會將叢集標示為閒置，並可能會自動終止叢集，即使您擁有作用中的 Python3 核心。這是因為執行 Python3 核心不會在叢集上提交 Spark 作業。若要將自動終止與 Python3 核心搭配使用，建議您使用 Amazon EMR 6.4.0 版或更新版本。如需有關自動終止的詳細資訊，請參閱 [使用 Amazon EMR 叢集清除的自動終止政策](emr-auto-termination-policy.md)。
+ 使用 `%%display` 在資料表中顯示 Spark DataFrame 時，非常寬的資料表可能會被截斷。可以在輸出上按一下滑鼠右鍵，然後選取**為輸出建立新檢視**，以取得輸出的可捲動檢視。
+ 啟動基於 Spark 的核心 (例如 PySpark、Spark 或 SparkR) 會啟動 Spark 作業階段，在筆記本中執行儲存格會將該作業階段中的 Spark 作業排入佇列。中斷正在執行的儲存格時，Spark 作業將繼續執行。若要停止 Spark 作業，應該使用叢集上的 Spark UI。如需有關如何連線到 Spark UI 的說明，請參閱 [使用 EMR Studio 對應用程式和作業偵錯](emr-studio-debug.md)。
+ 在 中使用 Amazon EMR Studio Workspaces 做為根使用者 AWS 帳戶 會導致`403: Forbidden`錯誤。這是因為 Amazon EMR 中的 Jupyter Enterprise Gateway 組態不允許存取根使用者。建議您不要將根使用者用於日常任務。如需其他身分驗證選項，請參閱 [AWS Identity and Access Management for Amazon EMR](https://docs.aws.amazon.com/emr/latest/ManagementGuide/emr-plan-access-iam.html)。

## 功能限制
<a name="emr-studio-limitations"></a>

Amazon EMR Studio 不支援以下 Amazon EMR 功能：
+ 使用指定 Kerberos 驗證的安全組態，在 EMR 叢集上附接和執行作業
+ 具有多個主節點的叢集
+ 叢集使用以 AWS Graviton2 為基礎的 Amazon EC2 執行個體，適用於低於 6.9.0 的 Amazon EMR 6.x 版本，以及低於 5.36.1 的 5.x 版本 

使用 Trusted Identity Propagation 的 Studio 不支援下列功能：
+ 無需範本即可建立 EMR 叢集。
+ 使用 EMR Serverless 應用程式。
+ 啟動 Amazon EMR on EKS 叢集。
+ 使用執行期角色。
+ 啟用 SQL Explorer 或工作區協作。

## EMR Studio 的服務限制
<a name="emr-studio-default-limits"></a>

下表顯示 EMR Studio 的服務限制。


****  

| 項目 | 限制 | 
| --- | --- | 
| EMR Studio | 每個 AWS 帳戶最多 100 個 | 
| 子網路 | 每個 EMR Studio 最多關聯 5 個 | 
| IAM Identity Center 群組 | 每個 EMR Studio 最多指派 5 個 | 
| IAM Identity Center 使用者 | 每個 EMR Studio 最多指派 100 個 | 