

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

# JupyterLab SQL 拡張機能の SQL エディタ機能
<a name="sagemaker-sql-extension-features-editor"></a>

SQL 拡張機能は、JupyterLab ノートブックセル内の SQL エディタ機能を有効にする Magic コマンドを提供しています。

SageMaker ディストリビューションイメージバージョン 1.6 を使用している場合は、JupyterLab ノートブックで `%load_ext amazon_sagemaker_sql_magic` を実行して、SQL 拡張機能 Magic ライブラリをロードする必要があります。これにより、SQL 編集機能が有効になります。

SageMaker ディストリビューションイメージバージョン 1.7 以降のユーザーの場合、アクションは必要ありません。SQL 拡張機能は自動的にロードされます。

拡張機能がロードされたら、セルの先頭に `%%sm_sql` Magic コマンドを追加して、SQL エディタの以下の機能を有効にします。
+ **接続選択ドロップダウン**: セルに `%%sm_sql` Magic コマンドを追加すると、利用可能なデータソース接続を提供するドロップダウンメニューがセルの上部に表示されます。いずれかの接続を選択すると、そのデータソースのクエリに必要なパラメータが自動的に入力されます。以下は、`connection-name` という名前の接続を選択することで生成された `%%sm_sql` Magic コマンド文字列の例です。

  ```
  %%sm_sql --metastore-type GLUE_CONNECTION --metastore-id connection-name
  ```

  以下の SQL エディタ機能を使用して SQL クエリを作成し、セルを実行してクエリを実行します。SQL 実行機能の詳細については、「[JupyterLab SQL 拡張機能の SQL 実行機能](sagemaker-sql-extension-features-sql-execution.md)」を参照してください。
+ **クエリ結果ドロップダウン**: 接続選択ドロップダウンメニューの横にあるドロップダウンメニューから結果タイプを選択すると、クエリ結果を表示する方法を指定できます。以下の 2 つの選択肢から選択します。
  + **セル出力**: (デフォルト) このオプションを選択すると、ノートブックセルの出力領域にクエリの結果を表示します。
  + **pandas Dataframe**: このオプションを選択すると、クエリの結果が pandas DataFrame に入力されます。このオプションを選択する場合、追加の入力ボックスを使用すると、DataFrame に名前を付けることができます。
+ **SQL 構文の強調表示**: セルで SQL キーワード、句、演算子などを色とスタイル別に自動的に視覚的に区別します。これにより、SQL コードが読みやすく理解しやすくなります。`SELECT`、`FROM`、`WHERE`、などのキーワードや、`SUM`、`COUNT` などの組み込み関数、`GROUP BY` などの句は、異なる色と太字スタイルで強調表示されます。
+ **SQL の書式設定**: 以下のいずれかの方法で、グループ化または分離する SQL ステートメントと句に、一貫したインデント、大文字化、スペーシング、改行を適用できます。これにより、SQL コードが読みやすく理解しやすくなります。
  + SQL セルを右クリックして、**[SQL をフォーマット]** を選択します。
  + SQL セルにフォーカスがある場合、Windows では *ALT \$1 F* のショートカット、MacOS では *Option \$1 F* のショートカットを使用します。
+ **SQL 自動補完**: 拡張機能では、SQL キーワード、関数、テーブル名、列名などの自動提案と自動補完が入力時に提供されます。`SELECT` や `WHERE` などの SQL キーワードの入力を開始すると、拡張機能は残りの単語を自動入力するための提案を含むポップアップを表示します。例えば、テーブル名または列名を入力する場合、テーブル名または列名を入力すると、データベーススキーマで定義済みの一致するテーブル名と列名が提案されます。
**重要**  
JupyterLab ノートブックで SQL auto-completion を有効にするには、SageMaker AI ディストリビューションイメージバージョン 1.6 のユーザーはターミナルで次の `npm install -g vscode-jsonrpc sql-language-server` コマンドを実行する必要があります。インストールが完了したら、`restart-jupyter-server` を実行して JupyterLab サーバーを再起動します。  
SageMaker ディストリビューションイメージバージョン 1.7 以降のユーザーの場合、なんらのアクションも必要ありません。

  セルでは、認識された SQL キーワードを自動補完する 2 つの方法が提供されています。
  + 明示的な呼び出し (推奨): **Tab** キーを押してコンテキスト対応提案メニューを開始し、**Enter** を押して提案項目を受け入れます。
  + 追加のヒント: 入力時にはセルが自動的に補完を提案します。
**注記**  
自動補完は、SQL キーワードが大文字の場合にのみトリガーされます。例えば、`SEL` と入力すると、`SELECT` が提案されますが、`sel` と入力しても提案されません。
データソースに初めて接続する際、SQL 自動補完はデータソースのメタデータのインデックスを作成します。このインデックス作成プロセスは、データベースのサイズによっては完了するまでに時間がかかる場合があります。