

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

# 使用 EMR Notebooks
<a name="emr-managed-notebooks-working-with"></a>

**注意**  
EMR Notebooks 可在 主控台中做為 EMR Studio Workspaces 使用。主控台中的**建立工作區**按鈕可讓您建立新的筆記本。若要存取或建立工作區，EMR Notebooks 使用者需要其他 IAM 角色許可。如需詳細資訊，請參閱 [主控台中的 Amazon EMR Notebooks 是 Amazon EMR Studio Workspaces](https://docs.aws.amazon.com/emr/latest/ManagementGuide/emr-managed-notebooks-migration.html) 和 [Amazon EMR 主控台](https://docs.aws.amazon.com/emr/latest/ManagementGuide/whats-new-in-console.html)。

在建立 EMR 筆記本之後，筆記本會在短時間內啟動。**筆記本**清單中的**狀態**會顯示**開始**。當筆記本的狀態為 **Ready (就緒)** 時，您可以開啟該筆記本。如果建立了叢集和筆記本，則筆記本可能要花費較長的時間才會 **Ready (就緒)**。

**提示**  
重新整理您的瀏覽器，或選取筆記本清單上方的重新整理圖示，來重新整理筆記本的狀態。

## 了解筆記本狀態
<a name="emr-managed-notebooks-status"></a>

EMR 筆記本在**筆記本**清單中可以有以下**狀態**。


| 狀態 | 意義 | 
| --- | --- | 
|  備妥  |  您可以使用筆記本編輯器來開啟筆記本。當筆記本處於 **Ready (就緒)** 狀態時，您可以加以停止或刪除。若要變更叢集，您必須先停止筆記本。如果處於 **Ready (就緒)** 狀態的筆記本長時間閒置，將會自動停止。  | 
|  啟動  |  正在建立筆記本，並將其連接到叢集。筆記本正在啟動時，您無法開啟筆記本編輯器、停止或刪除筆記本，也無法變更叢集。  | 
|  待定  |  筆記本已建立，並且正在等待與叢集整合，以完成這項動作。叢集可能仍在佈建資源或回應其他請求。當筆記本處於*本機模式*時，您可以開啟筆記本編輯器。依附叢集程序的任何程式碼，皆不會執行，而且會失效。  | 
|  正在停止  |  筆記本正在關閉中，或是正在終止筆記本所連接的叢集。筆記本正在停止時，您無法開啟筆記本編輯器、停止或刪除筆記本，也無法變更叢集。  | 
|  已停止  |  筆記本已關閉。只要叢集仍在執行中，您就可以在同一個叢集上啟動筆記本。您可以變更叢集和刪除叢集。  | 
|  正在刪除  |  正在從可用叢集的清單中刪除叢集。筆記本檔案 `NotebookName.ipynb ` 仍會保留於 Amazon S3 中，並且繼續產生適用的儲存費用。  | 

## 使用筆記本編輯器
<a name="emr-managed-notebooks-editor"></a>

使用 EMR 筆記本的好處是，您可以直接從主控台在 Jupyter 或 JupyterLab 中啟動筆記本。

使用 EMR Notebooks 時，您從 Amazon EMR 主控台存取的筆記本編輯器是熟悉的開放原始碼 Jupyter 筆記本編輯器或 JupyterLab。由於筆記本編輯器是在 Amazon EMR 主控台中啟動，因此相較於 Amazon EMR 叢集上所託管的筆記本，前者可更有效率地設定存取。您不需要設定使用者的用戶端，才能透過 SSH 進行 Web 存取、使用安全群組規則和代理組態。如果使用者擁有足夠的許可，只要在 Amazon EMR 主控台中開啟筆記本編輯器即可。

在 Amazon EMR 中，一次只有一個使用者能夠開啟 EMR 筆記本。如果有另一個使用者嘗試開啟已經開啟的 EMR 筆記本，就會發生錯誤。

**重要**  
Amazon EMR 會為每個筆記本編輯器工作階段建立一個唯一的預先簽章 URL，該 URL 僅在短時間內有效。我們建議您不要共用筆記本編輯器 URL。這樣做會產生安全性風險，因為 URL 的收件人會使用您的許可來編輯筆記本，並在 URL 的生命週期內執行筆記本程式碼。如果其他人需要存取筆記本，請透過許可政策向使用者提供許可，並確保 EMR Notebooks 的服務角色有權存取 Amazon S3 位置。如需詳細資訊，請參閱[EMR 筆記本安全性與存取控制](emr-managed-notebooks-security.md)及[EMR Notebooks 的服務角色](emr-managed-notebooks-service-role.md)。

**開啟 EMR 筆記本的筆記本編輯器**

1. 從**筆記本**清單中選取**狀態**為**就緒**或**待定**的筆記本。

1. 選擇 **Open in JupyterLab (在 JupyterLab 中開啟)** 或 **Open in Jupyter (在 Jupyter 中開啟)**。

   新的瀏覽器分頁會開啟 JupyterLab 或 Jupyter 筆記本編輯器。

1. 從 **Kernel (核心)** 選單中選擇 **Change kernel (變更核心)**，然後選擇適用於您程式設計語言的核心。

   現在已就緒，可以從筆記本編輯器寫入和執行程式碼。

### 儲存筆記本的內容
<a name="emr-managed-notebooks-saving"></a>

當您在筆記本編輯器中進行作業時，筆記本區塊和輸出的內容，會自動定期儲存到 Amazon S3 中的筆記本檔案。自上次編輯區塊以來沒有變更的筆記本，會在編輯器的筆記本名稱旁，顯示 **(autosaved) (已自動儲存)**。如果變更尚未儲存，會顯示 **unsaved changes (未儲存的變更)**。

您可以手動儲存筆記本。從**檔案**功能表中，選擇**儲存和檢查點**或按 CTRL\$1S。這會在**檢查點**資料夾 (該資料夾位於 Amazon S3 的筆記本資料夾內) 中建立一個名為 `NotebookName.ipynb` 的檔案。例如 `s3://amzn-s3-demo-bucket/MyNotebookFolder/NotebookID/checkpoints/NotebookName.ipynb`。只有最新的檢查點檔案，才會儲存於此位置。

## 變更叢集
<a name="emr-managed-notebooks-changing-clusters"></a>

可以變更 EMR 筆記本所附接的叢集，而不需變更筆記本自身的內容。您只能針對狀態為 **Stopped (已停止)** 的筆記本，來變更叢集。

**若要變更 EMR 筆記本的叢集**

1. 如果您想要變更的筆記本正在執行中，請從 **Notebooks (筆記本)** 清單中選擇該筆記本，然後選擇 **Stop (停止)**。

1. 當筆記本的狀態為 **Stopped (已停止)** 時，請從 **Notebooks (筆記本)** 清單中選擇筆記本，然後選擇 **View details (檢視詳細資訊)**。

1. 選擇 **Change cluster (變更叢集)**。

1. 如果您擁有作用中的叢集 (執行 Hadoop、Spark 和 Livy)，而您想要將其連接到筆記本，請保留預設值，然後從清單中選擇該叢集。只有符合要求的叢集才會列出。

   —或—

   選擇 **Create a cluster (建立叢集)**，然後選擇叢集選項。如需詳細資訊，請參閱[叢集要求](emr-managed-notebooks-considerations.md#considerations-limitations)。

1. 針對 **Security groups (安全群組)** 選擇選項，然後選擇 **Change cluster and start notebook (變更叢集並啟動筆記本)**。

## 刪除筆記本和筆記本檔案
<a name="emr-managed-notebooks-deleting"></a>

當您使用 Amazon EMR 主控台來刪除 EMR 筆記本時，會從可用筆記本的清單中刪除筆記本。不過，筆記本檔案仍會保留於 Amazon S3，並且繼續產生儲存費用。

**刪除筆記本並移除相關檔案**

1. 請在 [https://console.aws.amazon.com/elasticmapreduce/](https://console.aws.amazon.com/elasticmapreduce/) 開啟 Amazon EMR 主控台。

1. 選擇 **Notebooks (筆記本)**、從清單中選擇筆記本，然後選擇 **View details (檢視詳細資訊)**。

1. 選取 **Notebook location (筆記本位置)** 旁的資料夾圖示，然後複製 **URL (URL)** (格式為 `s3://MyNotebookLocationPath/NotebookID/`)。

1. 選擇 **刪除**。

   會從清單中移除該筆記本，而且無法再檢視其詳細資訊。

1. 遵循《Amazon Simple Storage Service 使用者指南》中[如何刪除 S3 儲存貯體中的資料夾？](https://docs.aws.amazon.com/AmazonS3/latest/userguide/delete-folders.html)的指示。從步驟 3 瀏覽到儲存貯體和資料夾。

   —或—

   如果您 AWS CLI 已安裝 ，請開啟命令提示字元，並在此段落結尾輸入 命令。將 Amazon S3 位置換成您在前面內容中所複製的位置。確定 AWS CLI 已使用具有刪除 Amazon S3 位置許可之使用者的存取金鑰設定 。如需詳細資訊，請參閱《AWS Command Line Interface 使用者指南》中的[設定 AWS CLI](https://docs.aws.amazon.com/AmazonS3/latest/userguide/cli-chap-getting-started.html)。

   ```
   aws s3 rm s3://MyNotebookLocationPath/NotebookID
   ```

## 共用筆記本檔案
<a name="emr-managed-notebooks-file-sharing"></a>

每個 EMR 筆記本都作為名為 `NotebookName.ipynb` 的檔案儲存到 Amazon S3。只要筆記本檔案和 EMR Notebooks 所採用的相同版本的 Jupyter 筆記本相容，就可以將筆記本開啟為 EMR 筆記本。

從其他使用者開啟記事本檔案的最簡單方法是將其他使用者的 \$1.ipynb 檔案儲存至您的本機檔案系統，然後在 Jupyter 和 JupyterLab 編輯器中使用上傳功能。

您可以利用這項程序，來使用別人分享的 EMR 筆記本、Jupyter 社群中所分享的筆記本，或是在筆記本檔案仍存在時，回復已經從主控台刪除的筆記本。

**使用不同的筆記本檔案做為 EMR 筆記本的依據**

1. 在繼續進行之前，請針對您將會使用的任何筆記本，關閉其筆記本編輯器，如果是 EMR 筆記本，請加以停止。

1. 建立 EMR 筆記本，並且輸入其名稱。您為筆記本所輸入的名稱，將會成為需替換檔案的名稱。新的檔案名稱必須和這個檔案名稱完全符合。

1. 請記下您為筆記本選擇的 Amazon S3 位置。您替換的檔案位於資料夾中，具有如同下列格式的路徑和檔案名稱：`s3://MyNotebookLocation/NotebookID/MyNotebookName.ipynb`。

1. 停止筆記本。

1. 將 Amazon S3 位置中的舊筆記本檔案換成新的 (使用完全相同的名稱)。

   下列 Amazon S3 AWS CLI 命令會將儲存至本機電腦的檔案取代`SharedNotebook.ipynb`為名為 **MyNotebook** 的 EMR 筆記本，其 ID 為 `e-12A3BCDEFJHIJKLMNO45PQRST`，並使用 Amazon S3 中`amzn-s3-demo-bucket/MyNotebooksFolder`指定的 建立。如需有關使用 Amazon S3 主控台複製及取代檔案的資訊，請參閱《Amazon Simple Storage Service 使用者指南》**中的[上傳、下載及管理物件](https://docs.aws.amazon.com/AmazonS3/latest/userguide/upload-download-objects.html)。

   ```
   aws s3 cp SharedNotebook.ipynb s3://amzn-s3-demo-bucket/MyNotebooksFolder/-12A3BCDEFJHIJKLMNO45PQRST/MyNotebook.ipynb
   ```