

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

# Studio で SQL を使用してデータを準備する
<a name="sagemaker-sql-extension"></a>

Amazon SageMaker Studio には、SQL 拡張機能が組み込まれています。この拡張機能を使用すると、データサイエンティストは JupyterLab ノートブック内でサンプリング、探索的分析、特徴量エンジニアリングなどのタスクを直接実行できます。 AWS Glue 接続を活用して、一元化されたデータソースカタログを維持します。カタログには、さまざまなデータソースに関するメタデータが保存されます。この SQL 環境を使用して、データサイエンティストはデータカタログを調べ、データを探索し、複雑な SQL クエリを作成し、結果を Python でさらに処理できます。

このセクションでは、Studio で SQL 拡張機能を設定する方法について説明します。この SQL 統合で有効になる機能と、JupyterLab ノートブックで SQL クエリを実行する手順について説明します。

SQL データ分析を有効にするには、管理者はまず関連するデータソース AWS Glue への接続を設定する必要があります。このような接続を使用して、データサイエンティストは JupyterLab 内から承認済みのデータセットにシームレスにアクセスできます。

管理者設定 AWS Glue の接続に加えて、SQL 拡張機能を使用すると、個々のデータサイエンティストは独自のデータソース接続を作成できます。これらのユーザー作成の接続は個別に管理でき、タグベースのアクセスコントロールポリシーを介してユーザーのプロファイルの範囲を指定できます。管理者が設定する接続とユーザーが作成する接続の両方を提供する、この 2 段階の接続モデルにより、データサイエンティストは分析およびモデリングタスクに必要なデータに幅広くアクセスできるようになります。ユーザーは、管理者が確立した一元化された接続のみに依存することなく、JupyterLab 環境ユーザーインターフェイス (UI) 内の独自のデータソースに必要な接続を設定できます。

**重要**  
ユーザー定義の接続作成機能は、PyPI のスタンドアロンライブラリのセットとして使用できます。この機能を使用するには、JupyterLab 環境に次のライブラリをインストールする必要があります。  
[amazon-sagemaker-sql-editor](https://pypi.org/project/amazon-sagemaker-sql-editor/)
[amazon-sagemaker-sql-execution](https://pypi.org/project/amazon-sagemaker-sql-execution/)
[amazon-sagemaker-sql-magic](https://pypi.org/project/amazon-sagemaker-sql-magic/)
これらのライブラリをインストールするには、JupyterLab ターミナルで次のコマンドを実行します。  

```
pip install amazon-sagemaker-sql-editor>=0.1.13
pip install amazon-sagemaker-sql-execution>=0.1.6
pip install amazon-sagemaker-sql-magic>=0.1.3
```
ライブラリをインストールしたら、変更を有効にするために JupyterLab サーバーを再起動する必要があります。  

```
restart-jupyter-server
```

アクセスをセットアップすると、JupyterLab ユーザーは以下を実行できます。
+ 事前設定済みのデータソースを表示したり参照する。
+ テーブル、スキーマ、列などのデータベース情報要素を検索、フィルタリング、検査する。
+ データソースへの接続パラメータを自動生成する。
+ 拡張機能の SQL エディタの構文強調表示機能、自動補完機能、SQL フォーマット機能を使用して、複雑な SQL クエリを作成する。
+ JupyterLab ノートブックセルから SQL ステートメントを実行する。
+ SQL クエリの結果を pandas DataFrames として取得して、処理、可視化、その他の機械学習タスクをさらに実行する。

Studio の JupyterLab アプリケーションの左側のナビゲーションペインで SQL 拡張機能アイコン (![\[Icon of the SQL extension feature in JupyterLab.\]](http://docs.aws.amazon.com/ja_jp/sagemaker/latest/dg/images/studio/sqlexplorer/sqlexplorer-icon.png)) をクリックすると、拡張機能にアクセスできます。アイコンにカーソルを合わせると、*データ検出*ツールのヒントが表示されます。

**重要**  
[SageMaker AI Distribution](https://github.com/aws/sagemaker-distribution) 1.6 以降、SageMaker Studio の JupyterLab イメージにはデフォルトで SQL 拡張機能が含まれています。この拡張機能は Python カーネルと SparkMagic カーネルでのみ動作します。
接続とデータを探索するための拡張機能のユーザーインターフェイスは、Studio 内の JupyterLab でのみ使用できます。拡張機能は、[Amazon Redshift](https://aws.amazon.com/redshift/)、[Amazon Athena](https://aws.amazon.com/athena/)、[Snowflake](https://www.snowflake.com/en/) との互換性があります。
+ 管理者が SQL 拡張機能のデータ ソースへの汎用接続を作成する場合は、次の手順に従ってください。

  1. Studio ドメインと接続先のデータソース間のネットワーク通信を有効にします。ネットワークの要件については、「[Studio とデータソース間のネットワークアクセスを設定する (管理者向け)](sagemaker-sql-extension-networking.md)」を参照してください。

  1. 接続プロパティと、[Secrets Manager でデータベース認証情報用のシークレットを作成する](sagemaker-sql-extension-glue-connection-secrets.md) でデータソースのシークレットを作成する手順を確認します。

  1. でデータソース AWS Glue への接続を作成します[AWS Glue 接続を作成する (管理者向け)](sagemaker-sql-extension-datasources-glue-connection.md)。

  1. SageMaker ドメインまたはユーザープロファイルの実行ロールに、[データソースにアクセスするための IAM アクセス許可を設定する (管理者向け)](sagemaker-sql-extension-datasources-connection-permissions.md) で必要なアクセス許可を付与します。
+ データサイエンティストが SQL 拡張機能のデータソースへの独自の接続を作成する場合は、次の手順に従います。

  1. 管理者に以下を依頼します。
     + Studio ドメインと接続先のデータソース間のネットワーク通信を有効にします。ネットワークの要件については、「[Studio とデータソース間のネットワークアクセスを設定する (管理者向け)](sagemaker-sql-extension-networking.md)」を参照してください。
     + SageMaker ドメインまたはユーザープロファイルの実行ロールに、[データソースにアクセスするための IAM アクセス許可を設定する (管理者向け)](sagemaker-sql-extension-datasources-connection-permissions.md) で必要なアクセス許可を付与します。
**注記**  
管理者は、実行ロールで[タグベースのアクセスコントロール](sagemaker-sql-extension-datasources-connection-permissions.md#user-defined-connections-permissions)を設定することで、JupyterLab アプリケーション内で作成された接続へのユーザーアクセスを制限できます。

  1. 接続プロパティと、[Secrets Manager でデータベース認証情報用のシークレットを作成する](sagemaker-sql-extension-glue-connection-secrets.md) でデータソースのシークレットを作成する手順を確認します。

  1. 「[ユーザー定義 AWS Glue 接続を作成する](sagemaker-sql-extension-datasources-glue-connection-user-defined.md)」の手順を使用して、JupyterLab UI で接続を作成します。
+ SQL 拡張機能を使用してデータソースを参照してクエリするデータサイエンティストは、まず自分自身または管理者がデータソースへの接続を設定していることを確認してください。その後、以下の手順を実行します。

  1. SageMaker ディストリビューションイメージバージョン 1.6 以降を使用して、Studio で JupyterLab アプリケーションを起動するためのプライベートスペースを作成します。

  1. SageMaker ディストリビューションイメージバージョン 1.6 を使用している場合は、ノートブックセルで `%load_ext amazon_sagemaker_sql_magic` を実行して、JupyterLab ノートブックに SQL 拡張機能をロードします。

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

  1. 「[SQL 拡張機能と使用状況](sagemaker-sql-extension-features.md)」で SQL 拡張機能を把握しておきます。

**Topics**
+ [クイックスタート: Amazon S3 でデータをクエリする](studio-sqlexplorer-athena-s3-quickstart.md)
+ [SQL 拡張機能と使用状況](sagemaker-sql-extension-features.md)
+ [Studio とデータソース間のネットワークアクセスを設定する (管理者向け)](sagemaker-sql-extension-networking.md)
+ [SQL 拡張機能データソース接続](sagemaker-sql-extension-datasources-connection.md)
+ [よくある質問](sagemaker-sql-extension-faqs.md)
+ [接続パラメータ](sagemaker-sql-extension-connection-properties.md)