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

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

データソースに接続する

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

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

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

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

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

権限

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

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

  • Amazon Athena : AmazonSageMakerFullAccessポリシーとAmazonSageMakerCanvasFullAccessポリシーがユーザーの実行ロールにアタッチされている場合は、Amazon Athena AWS Glue Data Catalog を使用して をクエリできます。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 データベースに接続する場合は、必要な認証情報JDBCURLを含む が必要です。

に保存されているデータベースに接続する 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 ではRDS、ポリシーがユーザーロールにAmazonSageMakerCanvasFullAccessアタッチされている場合、Amazon RDS データベースから Canvas にデータをインポートできます。

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

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

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

重要

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

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

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

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

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

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

ワークフローのステップに到達してデータソースを選択する場合 (データセットを作成するためのステップ 6、またはデータフローを作成するためのステップ 8)、以下を実行します。

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

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

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

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

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

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

  • 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 へのデータの移動と書き込みを行うために引き受けるロールIAMARNのロールを入力します。このロールの詳細については、「Amazon Redshift 管理ガイド」の「Amazon Redshift がユーザーに代わって他の AWS のサービスにアクセスすることを許可する」を参照してください。

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

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

  8. オプション: 追加のテーブルをインポートペインにドラッグします。を使用してテーブルをGUI結合できます。結合をより具体的にするには、「」の「編集SQL」を選択します。

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

    • ウェアハウス

    • データベース

    • スキーマ

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

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

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

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

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

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

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

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

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

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

  • Databricks の場合は、 JDBC を指定する必要がありますURL。URL フォーマットは Databricks インスタンスによって異なります。の検索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。で Amazon RDS データベースを設定する方法の詳細についてはVPC、「Amazon ユーザーガイド」の「Amazon VPCVPCsと RDS Amazon」を参照してください。 RDS

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

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

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

注記

データソースごとに確立できるOAuth接続は 1 つだけです。

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

OAuth 認証情報を設定したら、以下を実行して、Snowflake または Salesforce Data Cloud 接続を に追加できますOAuth。

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

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

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

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

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

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

注記

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

Snowflake を Canvas で使用する

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

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

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

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

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

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

  • SQL クエリ

  • Joins

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

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

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

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

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

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

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

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

  6. [新しい Snowflake 接続の追加] ダイアログボックスで、Snowflake の認証情報を指定します。認証メソッド では、次のいずれかを選択します。

    • 基本 - ユーザー名パスワード – Snowflake アカウント ID、ユーザー名、パスワードを指定します。

    • ARN – Snowflake 認証情報の保護を向上させるには、認証情報を含む AWS Secrets Manager シークレットARNの を指定します。詳細については、「 ユーザーガイド」のAWS Secrets Manager 「シークレットの作成」を参照してください。 AWS Secrets Manager

      シークレットには、Snowflake 認証情報を次のJSON形式で保存する必要があります。

      {"accountid": "ID", "username": "username", "password": "password"}
    • OAuth – OAuth パスワードを指定せずに認証できますが、追加のセットアップが必要です。Snowflake のOAuth認証情報の設定の詳細については、「」を参照してくださいを使用してデータソースへの接続を設定する OAuth

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

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

  9. オプション: 追加のテーブルをインポートペインにドラッグします。ユーザーインターフェイスを使用してテーブルを結合できます。結合をより具体的にするには、「」の「編集SQL」を選択します。

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

    • ウェアハウス

    • データベース

    • スキーマ

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

  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 」の「使用開始」を参照してください。

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