データソースに接続する - Amazon SageMaker

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

データソースに接続する

Amazon SageMaker Canvas では、JDBC コネクタを使用して、 AWS サービス、SaaS プラットフォーム、またはその他のデータベースを介して、ローカルファイルシステム外の場所からデータをインポートできます。例えば、Amazon Redshift のデータウェアハウスから表をインポートする場合や、Google Analytics データをインポートする場合があります。

インポートワークフローを実行して Canvas アプリケーションにデータをインポートする場合、データソースを選択してから、インポートするデータを選択します。Snowflake や Amazon Redshift などの特定のデータソースでは、認証情報を指定し、データソースへの接続を追加する必要があります。

次のスクリーンショットは、使用可能なすべてのデータソースが強調表示されているインポートワークフローのデータソースツールバーを示しています。使用可能なデータソースからのみデータをインポートできます。希望するデータソースが利用できない場合は、管理者に問い合わせてください。

Canvas の [インポート] ページの [データソース] ドロップダウンメニュー。

以下のセクションでは、外部データソースとの接続の確立、および外部データソースからのデータのインポートについて説明します。まず、次のセクションを確認して、データソースからデータをインポートするのに必要な権限を決定してください。

権限

次の情報を確認して、データソースからデータをインポートするのに必要な権限があることを確認してください。

  • Amazon S3: ユーザーがバケットにアクセスする権限を持っている場合、Amazon S3 バケットからデータをインポートできます。 AWS IAM を使用して Amazon S3 バケットへのアクセスを制御する方法の詳細については、「Amazon S3 ユーザーガイド」の「Amazon S3 での Identity and Access Management」を参照してください。 Amazon S3

  • Amazon Athena : AmazonSageMakerFullAccessポリシーと AmazonSageMakerCanvasFullAccessポリシーがユーザーの実行ロールにアタッチされている場合は、Amazon Athena AWS Glue Data Catalog を使用して をクエリできます。 Amazon Athena Athena ワークグループに参加している場合は、Canvas ユーザーがデータに対して Athena クエリを実行する権限を持っていることを確認してください。詳細については、「Amazon Athena ユーザーガイド」の「クエリを実行するためのワークグループの使用」を参照してください。

  • Amazon DocumentDB : データベースに接続するための認証情報 (ユーザー名とパスワード) があり、ユーザーの実行ロールに最低限の基本 Canvas アクセス許可がアタッチされている限り、任意の Amazon DocumentDB データベースからデータをインポートできます。Canvas のアクセス許可の詳細については、「」を参照してくださいAmazon SageMaker Canvas を設定するための前提条件

  • Amazon Redshift: Amazon Redshift からデータをインポートするために必要なアクセス権限を自分に付与するには、「Grant Users Permissions to Import Amazon Redshift Data」を参照してください。

  • Amazon RDS: ユーザーの実行ロールにAmazonSageMakerCanvasFullAccessポリシーがアタッチされている場合、Canvas から Amazon RDS データベースにアクセスできます。

  • SaaS プラットフォーム: AmazonSageMakerFullAccessポリシーと AmazonSageMakerCanvasFullAccessポリシーがユーザーの実行ロールにアタッチされている場合、SaaS プラットフォームからデータをインポートするために必要なアクセス許可があります。特定の SaaS コネクタへの接続の詳細については、「Canvas で SaaS コネクタを使用する」を参照してください。

  • JDBC コネクタ: Databricks、MySQL、または MariaDB などのデータベースソースでは、Canvas から接続する前に、ソースデータベースでユーザー名とパスワードの認証を有効にする必要があります。Databricks データベースに接続する場合は、必要な認証情報を含む JDBC URL が必要です。

に保存されているデータベースに接続する AWS

に保存したデータをインポートすることもできます AWS。Amazon S3 からデータをインポートしたり、Amazon Athena を使用して 内のデータベースをクエリしたり AWS Glue Data Catalog、Amazon RDS からデータをインポートしたり、プロビジョニングされた Amazon Redshift データベース (Redshift Serverless ではない) に接続したりできます。

Amazon Redshift への複数の接続を作成することができます。Amazon Athena では、AWS Glue Data Catalog にあるすべてのデータベースにアクセスできます。Amazon S3 では、必要な権限がある限り、バケットからデータをインポートできます。

詳細については、以下のセクションを参照してください。

Amazon S3、Amazon Athena、または Amazon RDS のデータに接続する

Amazon S3 では、バケットへのアクセス権限を持っているユーザーは、Amazon S3 バケットからデータをインポートできます。

Amazon Athena では、Amazon Athena ワークグループ を通じてアクセス許可を持っている AWS Glue Data Catalog 限り、 のデータベースにアクセスできます。 Amazon Athena

Amazon RDS では、ユーザーのロールにAmazonSageMakerCanvasFullAccessポリシーがアタッチされている場合、Amazon RDS データベースから Canvas にデータをインポートできます。

Amazon S3 バケットからのデータのインポート、または Amazon Athena でクエリを実行したデータテーブルのインポートについては、「データセットを作成する」を参照してください。Amazon Athena からは表形式のデータのみをインポートでき、Amazon S3 からは表形式データと画像データをインポートできます。

Amazon DocumentDB データベースに接続する

Amazon DocumentDB は、フルマネージド型のサーバーレスドキュメントデータベースサービスです。Amazon DocumentDB データベースに保存されている非構造化ドキュメントデータを表形式データセットとして Canvas SageMaker にインポートし、そのデータを使用して機械学習モデルを構築できます。

重要

Amazon DocumentDB に接続を追加するには、 SageMaker ドメインを VPC 専用モードで設定する必要があります。Canvas アプリケーションと同じ Amazon VPC 内の Amazon DocumentDB クラスターにのみアクセスできます。さらに、Canvas は TLS 対応の Amazon DocumentDB クラスターにのみ接続できます。VPC 専用モードで Canvas を設定する方法の詳細については、「」を参照してくださいインターネットにアクセスせずに VPC SageMaker で Amazon Canvas を設定する

Amazon DocumentDB データベースからデータをインポートするには、Amazon DocumentDB データベースにアクセスし、データベース接続の作成時にユーザー名とパスワードを指定するための認証情報が必要です。Amazon DocumentDB ユーザーのアクセス許可を変更することで、より詳細なアクセス許可を設定し、アクセスを制限できます。Amazon DocumentDB でのアクセスコントロールの詳細については、「Amazon DocumentDB デベロッパーガイド」の「ロールベースのアクセスコントロールを使用したデータベースアクセス」を参照してください。 Amazon DocumentDB

Amazon DocumentDB からインポートすると、Canvas はフィールドをテーブル内の列にマッピングすることで、非構造化データを表形式データセットに変換します。データ内の複合フィールド (またはネストされた構造) ごとに追加のテーブルが作成され、列は複合フィールドのサブフィールドに対応します。このプロセスとスキーマ変換の例の詳細については、Amazon DocumentDB JDBC ドライバースキーマ検出 GitHub 」ページを参照してください。

Canvas は、Amazon DocumentDB 内の単一のデータベースにのみ接続できます。別のデータベースからデータをインポートするには、新しい接続を作成する必要があります。

次の方法を使用して、Amazon DocumentDB から Canvas にデータをインポートできます。

データのインポートを続行するには、前述のリストでリンクされているメソッドのいずれかの手順に従います。

いずれかのワークフローのステップに到達してデータソース (データセットを作成するためのステップ 6、またはデータフローを作成するためのステップ 8) を選択したら、次の手順を実行します。

  1. データソース でドロップダウンメニューを開き、DocumentDBを選択します。

  2. [Add connection (接続の追加)] を選択します。

  3. ダイアログボックスで、Amazon DocumentDB 認証情報を指定します。

    1. [接続名] を入力します。この名前は Canvas でこの接続を識別するために使用されます。

    2. クラスター で、データを保存する Amazon DocumentDB のクラスターを選択します。Canvas は、Canvas アプリケーションと同じ VPC 内の Amazon DocumentDB クラスターをドロップダウンメニューに自動的に入力します。

    3. Amazon DocumentDB クラスターのユーザー名を入力します。

    4. Amazon DocumentDB クラスターのパスワードを入力します。

    5. 接続するデータベースの名前を入力します。

    6. 読み取り設定オプションは、クラスター Canvas でデータを読み取り元のインスタンスのタイプを決定します。次のいずれかを選択します。

      • セカンダリ優先 — Canvas はデフォルトでクラスターのセカンダリインスタンスからの読み取りを行いますが、セカンダリインスタンスが使用できない場合、Canvas はプライマリインスタンスから読み取ります。

      • セカンダリ – Canvas はクラスターのセカンダリインスタンスからのみ読み取ります。これにより、読み取りオペレーションがクラスターの通常の読み取りおよび書き込みオペレーションに干渉するのを防ぎます。

    7. [Add connection (接続の追加)] を選択します。次の図は、Amazon DocumentDB 接続の前述のフィールドを含むダイアログボックスを示しています。

      Canvas の新しい DocumentDB 接続の追加ダイアログボックスのスクリーンショット。

これで Amazon DocumentDB 接続が可能になり、Canvas で Amazon DocumentDB データを使用してデータセットまたはデータフローを作成できます。

Amazon Redshift データベースに接続する

組織がデータを保持するデータウェアハウスである、Amazon Redshift からデータをインポートできます。Amazon Redshift からデータをインポートする前に、使用する AWS IAM ロールに AmazonRedshiftFullAccess管理ポリシーがアタッチされている必要があります。このポリシーをアタッチする方法については、「Amazon Redshift データをインポートする権限をユーザーに付与する」を参照してください。

Amazon Redshift からデータをインポートするには、次の手順に従います。

  1. Amazon Redshift データベースへの接続を作成します。

  2. インポートするデータを選択します。

  3. データをインポートします。

Amazon Redshift エディタを使用して、データセットをインポートペインにドラッグし、Canvas SageMaker にインポートできます。データセットで返される値をより詳細に制御するには、以下を使用します。

  • SQL クエリ

  • Joins

SQL クエリを使用すると、データセット内の値をインポートする方法をカスタマイズできます。例えば、データセットで返される列や、列の値の範囲を指定できます。

結合を使用すると、Amazon Redshift の複数のデータセットを 1 つのデータセットに結合できます。データセットは、Amazon Redshift からパネルにドラッグすることによって結合できます。

SQL エディタを使用すると、結合したデータセットを編集したり、結合したデータセットを 1 つのノードに変換したりできます。別のデータセットをノードに結合できます。選択したデータを SageMaker Canvas にインポートできます。

次の手順に従って、Amazon Redshift からデータをインポートします。

  1. SageMaker Canvas アプリケーションで、データセットページに移動します。

  2. データをインポート を選択し、ドロップダウンメニューから表形式 を選択します。

  3. データセットの名前を入力し、[作成] を選択します。

  4. [データソース] でドロップダウンメニューを開いて、[Redshift] を選択します。

  5. [Add connection (接続の追加)] を選択します。

  6. ダイアログボックスで、Amazon Redshift の認証情報を指定します。

    1. [認証方法][IAM] を選択します。

    2. [クラスター識別子] を入力して、接続するクラスターを指定します。Amazon Redshift クラスターの完全なエンドポイントではなく、クラスター識別子のみを入力します。

    3. 接続するデータベースの [データベース名] を入力します。

    4. [データベースユーザー] を入力して、データベースへの接続に使用するユーザーを特定します。

    5. [ARN] に、Amazon Redshift クラスターがデータを移動して Amazon S3 に書き込むことを引き受けるロールの IAM ロール ARN を入力します。このロールの詳細については、「Amazon Redshift 管理ガイド」の「ユーザーに代わって Amazon Redshift が他の AWS サービスにアクセスすることを許可する」を参照してください。

    6. [接続名] を入力します。この名前は Canvas でこの接続を識別するために使用されます。

  7. 接続の名前が表示されているタブから、インポートする.csv ファイルを [Drag and drop table to import] (インポートするテーブルをドラッグアンドドロップ) ペインにドラッグします。

  8. オプション: 追加のテーブルをインポートペインにドラッグします。GUI を使用してテーブルを結合できます。結合の詳細を確認するには、[Edit in SQL] (SQL で編集) を選択します。

  9. オプション: SQL を使用してデータをクエリする場合は、[Context] (コンテキスト) をクリックし、以下の値を指定して、接続にコンテキストを追加できます。

    • ウェアハウス

    • データベース

    • スキーマ

  10. [データをインポート] を選択します。

以下の画像は、Amazon Redshift 接続で指定されるフィールドの例を示しています。

Canvas の新しい Redshift 接続の追加ダイアログボックスのスクリーンショット。

以下の画像は、Amazon Redshift でデータセットを結合するために使用されるページを示しています。

Canvas のインポートページのスクリーンショット。2 つのデータセットが結合されています。

以下の画像は、Amazon Redshift で結合を編集するために使用される SQL クエリを示しています。

Canvas のインポートページの SQL エディタの編集にある SQL クエリのスクリーンショット。

JDBC コネクタを使用してデータに接続する

JDBC を使用すると、Databricks、SQLServer、MySQL、PostgreSQL、MariaDB、Amazon RDS、Amazon Aurora などのソースからデータベースに接続できます。

Canvas から接続を作成するための認証情報と権限があることを確認する必要があります。

  • Databricks の場合は、JDBC URL を指定する必要があります。URL フォーマットは Databricks インスタンスによって異なる場合があります。URL の検索とその URL 内のパラメーターの指定について詳しくは、Databricks のドキュメントの「JDBC 設定と接続パラメーター」を参照してください。以下は URL のフォーマットの例です。 jdbc:spark://aws-sagemaker-datawrangler.cloud.databricks.com:443/default;transportMode=http;ssl=1;httpPath=sql/protocolv1/o/3122619508517275/0909-200301-cut318;AuthMech=3;UID=token;PWD=personal-access-token

  • 他のデータベースソースでは、ユーザー名とパスワードによる認証を設定し、Canvas からデータベースに接続する際にそれらの認証情報を指定する必要があります。

さらに、データソースはパブリックインターネット経由でアクセス可能であるか、Canvas アプリケーションが VPC 専用モードで実行されている場合、データソースは同じ VPC で実行する必要があります。VPC での Amazon RDS データベースの設定の詳細については、「Amazon RDS ユーザーガイド」の「Amazon VPC VPC とAmazon RDS」を参照してください。

データソースの認証情報を設定したら、Canvas アプリケーションにサインインして、データソースへの接続を作成します。接続を作成する際に、認証情報 (Databricks の場合は URL) を指定します。

OAuth を使用してデータソースに接続する

Canvas は、Snowflake と Salesforce Data Cloud 内のデータに接続するための認証方法として OAuth の使用をサポートしています。OAuth は、パスワードを共有せずにリソースへのアクセスを許可するための一般的な認証プラットフォームです。

注記

各データソースで確立できる OAuth 接続は 1 つのみです。

接続を認証するには、「OAuth を使用してデータソースへの接続を設定する」で説明されている初期設定に従う必要があります。

OAuth 認証情報を設定したら、次の操作を行って OAuth による Snowflake 接続または Salesforce Data Cloud 接続を追加できます。

  1. Canvas アプリケーションにサインインします。

  2. 表形式のデータセットを作成します。データをアップロードするように求められたら、データソースとして Snowflake または Salesforce Data Cloud を選択します。

  3. Snowflake または Salesforce Data Cloud のデータソースへの新しい接続を作成します。認証方法として OAuth を指定し、接続の詳細を入力します。

これで、Snowflake または Salesforce Data Cloud のデータベースからデータをインポートできるようになりました。

SaaS プラットフォームに接続する

ユーザーは、Snowflake および 40 以上の外部 SaaS プラットフォームからデータをインポートできます。コネクタの完全なリストについては、「Canvas にデータをインポートする」の表を参照してください。

注記

SaaS プラットフォームからは、データテーブルなどの表形式データのみインポートできます。

Snowflake を Canvas で使用する

Snowflake はデータストレージおよび分析サービスであり、Snowflake から Canvas SageMaker にデータをインポートできます。Snowflake の詳細については、「Snowflake ウェブサイト」を参照してください。

Snowflake アカウントからデータをインポートするには、次の手順に従います。

  1. Snowflake データベースへの接続を作成します。

  2. 左側のナビゲーションメニューからテーブルをエディタにドラッグアンドドロップして、インポートするデータを選択します。

  3. データをインポートします。

Snowflake エディタを使用して、データセットをインポートペインにドラッグし、Canvas SageMaker にインポートできます。データセットで返される値をより詳細に制御するには、以下を使用します。

  • SQL クエリ

  • Joins

SQL クエリを使用すると、データセット内の値をインポートする方法をカスタマイズできます。例えば、データセットで返される列や、列の値の範囲を指定できます。

SQL または Canvas インターフェイスを使用して Canvas にインポートする前に、複数の Snowflake データセットを 1 つのデータセットに結合できます。Snowflake からデータセットをドラッグしてデータセットを結合したり、SQL で結合を編集して SQL を単一ノードに変換したりできます。変換したノードには他のノードを結合できます。結合したデータセットを 1 つのノードに結合すると、そのノードを別の Snowflake データセットに結合できます。その後、選択したデータを Canvas にインポートできます。

Snowflake から Amazon SageMaker Canvas にデータをインポートするには、次の手順に従います。

  1. SageMaker Canvas アプリケーションで、データセットページに移動します。

  2. データをインポート を選択し、ドロップダウンメニューから表形式 を選択します。

  3. データセットの名前を入力し、[作成] を選択します。

  4. [データソース] でドロップダウンメニューを開いて、[Snowflake] を選択します。

  5. [Add connection (接続の追加)] を選択します。

  6. [新しい Snowflake 接続の追加] ダイアログボックスで、Snowflake の認証情報を指定します。[認証方法] では、[基本 - ユーザー名、パスワード][ARN]、または [OAuth] を選択できます。OAuth を選択すると、パスワードを入力しなくても認証できますが、追加の設定が必要です。Snowflake 用の OAuth 認証情報設定の詳細については、「OAuth を使用してデータソースへの接続を設定する」を参照してください。

  7. [Add connection (接続の追加)] を選択します。

  8. 接続の名前が表示されているタブから、インポートする.csv ファイルを [Drag and drop table to import] (インポートするテーブルをドラッグアンドドロップ) ペインにドラッグします。

  9. オプション: 追加のテーブルをインポートペインにドラッグします。ユーザーインターフェイスを使用してテーブルを結合できます。結合の詳細を確認するには、[Edit in SQL] (SQL で編集) を選択します。

  10. オプション: SQL を使用してデータをクエリする場合は、[Context] (コンテキスト) をクリックし、以下の値を指定して、接続にコンテキストを追加できます。

    • ウェアハウス

    • データベース

    • スキーマ

    接続にコンテキストを追加すると、後でクエリを指定しやすくなります。

  11. [データをインポート] を選択します。

以下の画像は、Snowflake 接続で指定されるフィールドの例を示しています。

Canvas の新しい Snowflake 接続の追加ダイアログボックスのスクリーンショット。

以下の画像は、接続にコンテキストを追加するために使用されるページを示しています。

Canvas のインポートページのスクリーンショット。コンテキストダイアログボックスが表示されます。

以下の画像は、Snowflake でデータセットを結合するために使用されるページを示しています。

Canvas のインポートページのスクリーンショット。データセットが結合されているところを示しています。

以下の画像は、Snowflake で結合を編集するために使用される SQL クエリを示しています。

Canvas のインポートページの SQL エディタの編集にある SQL クエリのスクリーンショット。

Canvas で SaaS コネクタを使用する

注記

SaaS プラットフォームでは、Snowflake に加えて、データソースごとに 1 つの接続しか使用できません。

SaaS プラットフォームからデータをインポートする前に、管理者は認証を行い、データソースへの接続を作成する必要があります。管理者が SaaS プラットフォームとの接続を作成する方法の詳細については、「Amazon ユーザーガイド」の「Amazon AppFlow 接続の管理」を参照してください。 AppFlow

管理者が初めて Amazon の使用を開始する場合は、「Amazon AppFlow ユーザーガイド AppFlow 」の「開始方法」を参照してください。 https://docs.aws.amazon.com/appflow/latest/userguide/getting-started.html

SaaS プラットフォームからデータをインポートするには、標準の「表形式データをインポートする」手順に従って表形式のデータセットを Canvas にインポートします。