

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

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

**注意**  
Pyspark 引擎第 3 版支援 Athena 筆記本編輯器。如需搭配 Apache Spark 3.5 版使用筆記本，請參閱 [SageMaker 筆記本](https://docs.aws.amazon.com/sagemaker-unified-studio/latest/userguide/what-is-sagemaker-unified-studio.html)。

您可以在 Athena 筆記本瀏覽器中管理筆記本，並使用 Athena 筆記本編輯器在工作階段中進行編輯和執行。您可以根據您的需求，設定筆記本工作階段的 DPU 使用情況。

當您停止筆記本時，您會終止相關的工作階段。所有檔案均已儲存，但宣告的變數、函數和類別中正在進行的變更會遺失。當您重新啟動筆記本時，Athena 會重新載入筆記本檔案，並且您可以再次執行程式碼。

Athena 筆記本編輯器是一種用於編寫和執行程式碼的互動式環境。以下章節描述環境的功能。

## 了解筆記本工作階段和計算
<a name="notebooks-spark-sessions-and-calculations"></a>

每個筆記本都與單一 Python 核心相關聯，並會執行 Python 程式碼。筆記本可具有一或多個包含命令的儲存格。若要執行筆記本中的儲存格，您必須先為筆記本建立工作階段。工作階段會追蹤變數和筆記本的狀態。

在筆記本中執行儲存格表示在目前工作階段中執行計算。計算會追蹤筆記本的進度狀態，並且可能執行從 Amazon S3 讀取或寫入其他資料存放區等任務。只要工作階段在執行中，計算就會使用並修改為筆記本維護的狀態。

當您不再需要狀態時，可以結束工作階段。當您結束工作階段時，筆記本會保留，但變數和其他狀態資訊會被銷毀。如果您需要同時處理多個專案，則可以為每個專案建立一個工作階段，並且工作階段將彼此獨立。

工作階段具有專屬運算容量，以 DPU 為單位。建立工作階段時，您可以指派工作階段數個 DPU。根據任務的需求，不同的工作階段可以具有不同的容量。

## 在命令模式和編輯模式之間切換
<a name="notebooks-spark-command-mode-vs-edit-mode"></a>

筆記本編輯器具有一個模式使用者介面：用於將文字輸入到儲存格的編輯模式，以及用於向編輯器本身發出命令的命令模式，例如複製、粘貼或執行。

若要使用編輯模式和命令模式，您可以執行下列任務：
+ 若要進入編輯模式，請按下 **ENTER**，或選擇儲存格。當儲存格處於編輯模式時，儲存格會有一個綠色的左邊界。
+ 若要進入命令模式，請按下 **ESC**，或按一下儲存格外側。請注意，命令通常僅適用於當前選定的儲存格，而不適用於所有儲存格。當編輯器處於命令模式時，儲存格會有一個藍色的左邊界。
+ 在命令模式中，您可以使用鍵盤快速鍵和編輯器上方的選單，但不能在個別儲存格中輸入文字。
+ 若要選取儲存格，請選擇儲存格。
+ 若要選取所有儲存格，請按下 **Ctrl\+A** (Windows) 或 **Cmd\+A** (Mac)

## 在筆記本編輯器選單中使用動作
<a name="notebooks-spark-notebook-editor-menu"></a>

筆記本編輯器頂端選單中的圖示提供以下選項：
+ **Save** (儲存) – 儲存筆記本的目前狀態。
+ **Insert cell below** (在下方插入儲存格) – 在目前選取的儲存格下方新增新的 (空的) 儲存格。
+ **Cut selected cells** (剪下選取的儲存格) – 從其目前位置移除選取的儲存格，並將儲存格複製到記憶體。
+ **Copy selected cells** (複製選取的儲存格) – 將選取的儲存格複製到記憶體。
+ **Paste cells below** (在下方貼上儲存格) – 在目前儲存格下方貼上複製的儲存格。
+ **Move selected cells up** (上移選取的儲存格) – 將目前儲存格移至上方儲存格的上方。
+ **Move selected cells up** (下移選取的儲存格) – 將目前儲存格移至下方儲存格的下方。
+ **Run** (執行) – 執行目前 (選取的) 儲存格。輸出會立即顯示在目前儲存格的下方。
+ **Run all** (執行所有) – 執行筆記本中的所有儲存格。每個儲存格的輸出會立即顯示在儲存格的下方。
+ **Stop (Interrupt the kernel)** (停止 (中斷核心)) – 透過中斷核心來停止目前的筆記本。
+ **Format option** (格式選項) – 選取儲存格格式，且格式可以是下列其中一種：
  + **Code** (程式碼) – 用於 Python 程式碼 (預設值)。
  + **Markdown** – 用於以 [GitHub-style markdown](https://docs.github.com/en/get-started/writing-on-github) 格式輸入文字。若要轉譯 Markdown，請執行儲存格。
  + **Raw NBConvert** – 用於以未經修改的形式輸入文字。標記為 **Raw NBConvert** 的儲存格可透過 Jupyter [nbconvert](https://nbconvert.readthedocs.io/en/latest/usage.html) 命令列工具轉換成不同的格式，例如 HTML。
+ **Heading** (標題) – 用於變更儲存格的標題層級。
+ **Command palette** (命令面板) – 包含 Jupyter 筆記本命令及其鍵盤快速鍵。如需有關鍵盤快速鍵的詳細資訊，請參閱本文件稍後的章節。
+ **Session** (工作階段) – 使用此選單中的選項來[檢視](notebooks-spark-getting-started.md#notebooks-spark-getting-started-viewing-session-and-calculation-details)工作階段的詳細資訊、[編輯工作階段參數](notebooks-spark-getting-started.md#notebooks-spark-getting-started-editing-session-details)或[終止](notebooks-spark-getting-started.md#notebooks-spark-getting-started-terminating-a-session)工作階段。

## 使用命令模式鍵盤快速鍵，以提高生產力
<a name="notebooks-spark-command-mode-keyboard-shortcuts"></a>

以下是筆記本編輯器命令模式鍵盤快速鍵。按下 **ESC** 進入命令模式後，即可使用這些快速鍵。若要檢視編輯器中可用命令的完整清單，請按下 **ESC \+ H**。


****  

| 金錀 | Action | 
| --- | --- | 
| 1 - 6 | 將儲存格類型變更為 Markdown 並將標題層級設定為鍵入的數字 | 
| a | 在目前儲存格上方建立儲存格 | 
| b | 在目前儲存格下方建立儲存格 | 
| c | 將目前儲存格複製到記憶體 | 
| d d | 刪除目前儲存格 | 
| h | 顯示鍵盤快速鍵協助畫面 | 
| j | 向下移一個儲存格 | 
| k | 向上移一個儲存格 | 
| m | 將目前儲存格格式變更為 Markdown | 
| r | 將目前儲存格格式變更為 Raw | 
| s | 儲存筆記本 | 
| v | 在目前儲存格下方貼上記憶體內容 | 
| x | 剪下選取的一或多個儲存格 | 
| y | 將儲存格格式變更為程式碼 | 
| z | Undo (復原) | 
| Ctrl\+Enter  | 執行目前儲存格並輸入命令模式 | 
| Shift\+Enter 或 Alt\+Enter | 執行目前儲存格並在輸出下方建立新的儲存格，然後在編輯模式下輸入新的儲存格 | 
| Space | 向下翻頁 | 
| Shift\+Space | 向上翻頁 | 
| Shift \+ L | 切換儲存格中行號的可見度 | 

## 自訂命令模式快速鍵
<a name="notebooks-spark-editing-command-mode-shortcuts"></a>

筆記本編輯器提供自訂命令模式鍵盤快速鍵的選項。

**若要編輯命令模式快速鍵**

1. 從筆記本編輯器選單中，選擇 **Command palette** (命令面板)。

1. 從命令面板中，選擇 **Edit command mode keyboard shortcuts** (編輯命令模式鍵盤快速鍵) 命令。

1. 使用 **Edit command mode shortcuts** (編輯命令模式快速鍵) 介面可將您想要的命令映射或重新映射至鍵盤。

   若要查看編輯命令模式快速鍵的指示，請捲動到 **Edit command mode shortcuts** (編輯命令模式快速鍵) 畫面的底部。

如需有關在 Athena for Apache Spark 中使用魔術命令的資訊，請參閱 [使用魔術命令](notebooks-spark-magics.md)。

**Topics**
+ [了解筆記本工作階段和計算](#notebooks-spark-sessions-and-calculations)
+ [在命令模式和編輯模式之間切換](#notebooks-spark-command-mode-vs-edit-mode)
+ [在筆記本編輯器選單中使用動作](#notebooks-spark-notebook-editor-menu)
+ [使用命令模式鍵盤快速鍵，以提高生產力](#notebooks-spark-command-mode-keyboard-shortcuts)
+ [自訂命令模式快速鍵](#notebooks-spark-editing-command-mode-shortcuts)
+ [使用魔術命令](notebooks-spark-magics.md)