AWS Glue Studio でのコネクタと接続の使用 - AWS Glue

AWS Glue Studio でのコネクタと接続の使用

AWS Glue には、JDBC 接続を使用する最も一般的なデータストア ( Amazon Redshift、Amazon Aurora、Microsoft SQL Server、MySQL、MongoDB、PostgreSQL など) に対するサポートが組み込まれています。また、AWS Glue では、抽出、変換、ロード (ETL) ジョブ用にカスタム JDBC ドライバも使用できます。SaaS アプリケーションなど、ネイティブにサポートされていないデータストアに対しては、コネクタを使用することができます。

コネクタ とは AWS Glue Studio 内でデータストアに対するアクセスを支援するための、オプションのコードパッケージです。 AWS Marketplaceで提供されている複数のコネクタをサブスクライブすることができます。

ETL ジョブを作成する場合、ネイティブにサポートされているデータストア、からのコネクタ AWS Marketplace、または独自のカスタムコネクタを使用できます。コネクタを使用するには、最初にコネクタのための接続を作成する必要があります。接続には、特定のデータストアに接続するために必要なプロパティが含まれます。ETL ジョブでは、データソースおよびデータターゲットとの接続を使用します。コネクタと接続は、データストアへのアクセスを容易にするために連携して動作します。

コネクタと接続の使用に関する概要

接続には、特定のデータストアに接続するために必要なプロパティが含まれます。作成した接続は AWS Glue Data Catalog に保存されます。コネクタを選択し、そのコネクタに基づいて接続を作成します。

でネイティブにサポートされていないデータストアのコネクタをサブスクライブし AWS Marketplace、接続の作成時にそれらのコネクタを使用できます。さらに、デベロッパーは独自のコネクタを作成し、それを接続の作成に使用することもできます。

注記

AWS Marketplace でカスタムまたはコネクタを使用して作成された接続は、AWS Glue StudioAWS Glueタイプがに設定された状態でコンソールに表示されます。UNKNOWN

以下のステップで、AWS Glue Studio でコネクタを使用するための全体的なプロセスを説明します。

  1. でコネクタをサブスクライブするか AWS Marketplace、AWS Glue Studio独自のコネクタを開発してにアップロードします。詳細については、「AWS Glue Studio にコネクタを追加する」を参照してください。

  2. コネクタの使用方法に関する情報を確認します。この情報は、コネクタ製品ページの [Usage] (使用方法) タブに表示されます。たとえば、この製品ページ「AWS GlueConnector for Google」の「使用状況」タブをクリックすると BigQuery、「その他のリソース」セクションに、このコネクタの使用に関するブログへのリンクが表示されます。他のコネクタについては、コネクタの製品ページ Cloudwatch Logs connector for AWS Glue のように、[Overview] (概要) セクションで使用手順に関するリンクが表示されます。

  3. 接続を作成します。使用するコネクタを選択し、ログイン認証情報、URI 文字列、仮想プライベートクラウド (VPC) 情報など、接続に関する追加情報を提供します。詳しくは、「コネクタ用の接続を作成する 」を参照してください。

  4. ジョブ用に IAM ロールを作成します。ジョブは、作成時に指定する [IAM role] (IAM ロール) のアクセス許可があることを想定します。この IAM ロールには、データストアを承認し、そこからのデータ抽出、およびデータを書き込むために必要なアクセス許可を有する必要があります。

  5. ETL ジョブを作成し、その ETL ジョブのためにデータソースプロパティを設定します。カスタムコネクタプロバイダーの指示に従って、接続オプションと認証情報を指定します。詳しくは、「カスタムコネクタを使用したジョブのオーサリング 」を参照してください。

  6. ビジュアル ETL と AWS Glue Studio での説明を参考に、変換を追加するか新しいデータストアを追加しながら、ETL ジョブをカスタマイズします。

  7. データターゲットにコネクタを使用している場合は、ETL ジョブ用のデータターゲットプロパティを設定します。カスタムコネクタプロバイダーの指示に従って、接続オプションと認証情報を指定します。詳しくは、「カスタムコネクタを使用したジョブのオーサリング 」を参照してください。

  8. ジョブのプロパティを変更する での説明のように、ジョブのプロパティを構成して、ジョブの実行環境をカスタマイズします。

  9. ジョブを実行します。

AWS Glue Studio にコネクタを追加する

コネクタとは、データストアと AWS Glue 間の通信を容易にするための、一連のコードのことです。で提供されているコネクタを購読することも AWS Marketplace、独自のカスタムコネクタを作成することもできます。

AWS Marketplace コネクタを購読する

AWS Glue Studio AWS Marketplaceからコネクタを簡単に追加できます。

AWS Marketplace からにコネクタを追加するには AWS Glue Studio
  1. AWS Glue Studio コンソールのナビゲーションペインで、[Connectors] (コネクタ) をクリックします。

  2. [Connectors] (コネクタ) ページで、[Go to AWS Marketplace] をクリックします。

  3. で AWS Marketplace、「おすすめ商品」で、使用したいコネクタを選択します。表示されているコネクタの 1 つを選択するか、または検索することができます。コネクタを、名前またはタイプにより検索したり、オプションを使用して検索結果を絞り込むことができます。

    表示されているコネクタのいずれかを使用するには、[View product] (製品を表示する) をクリックします。検索結果からコネクタを見つけた場合は、そのコネクタの名前を選択します。

  4. コネクタの製品ページで、そのコネクタに関するタブを開いて情報を表示します。そのコネクタを購入する場合は、[Continue to Subscribe] (続行してサブスクライブする) をクリックします。

  5. 支払い情報を入力し、[Continue to Configure] (設定に進む) をクリックします。

  6. [Configure this software] (このソフトウェアを設定する) ページで、デプロイの方法と使用するコネクタのバージョンを選択します。[Continue to Launch] (続行して起動する) をクリックします。

  7. [Launch this software] (このソフトウェアを起動する) ページでは、コネクタプロバイダから提供される [Usage Instructions] (使用手順) を確認することができます。次に進む準備ができたら、[AWS Glue Studio で接続をアクティブにする] を選択します。

    少し待機すると、コンソールに、AWS Glue Studio の [Create marketplace connection] (マーケットプレイス接続の作成) ページが表示されます。

  8. コネクタ用の接続を作成する の説明を参考に、このコネクタを使用する接続を作成します。

    または、[Activate connector only] (アクティブなコネクタのみ) を選択し、この時点での接続の作成をスキップすることも可能です。後にコネクタを使用する際には、先に接続を作成する必要があります。

カスタムコネクタを作成する

独自のコネクタを作成し、そのコネクタのコードを AWS Glue Studio にアップロードすることもできます。

カスタムコネクタは、AWS Glue Spark ランタイム API を介して AWS Glue Studio に組み込まれます。Spark、Athena、または JDBC インターフェイスと準拠している任意のコネクタを、AWS Glue Spark ランタイムを使用してプラグインすることができます。これにより、カスタムコネクタで使用できる任意の接続オプションを渡すことができます。

AWS Glue 接続でのすべての接続プロパティをカプセル化して、ETL ジョブにその接続名を指定することができます。Data Catalog 接続を統合することで、単一の Spark アプリケーションからの複数の呼び出しや、異なるアプリケーション間での同じ接続プロパティの使用ができるようにします。

接続には、他のオプションを指定することもできます。AWS Glue Studio が生成するジョブスクリプトには、指定された接続オプションを使用してコネクタをプラグインする接続を使用する Datasource エントリが含まれています。例:

Datasource = glueContext.create_dynamic_frame.from_options(connection_type = "custom.jdbc", connection_options = {"dbTable":"Account","connectionName":"my-custom-jdbc- connection"}, transformation_ctx = "DataSource0")
AWS Glue Studio にカスタムコネクタを追加する方法
  1. カスタムコネクタ用のコードを作成します。詳しくは、「カスタムコネクタの開発 」を参照してください。

  2. コネクタに、AWS Glue 機能に対するサポートを追加します。以下に、これらの機能について、さらにそれらが AWS Glue Studio で生成されたジョブスクリプトでどのように使用されるかに関する例をいくつか挙げてみます。

    • データ型のマッピング – コネクタは、基盤データストアから列を読み込む際に、列をタイプキャストすることができます。例えば {"INTEGER":"STRING"}dataTypeMapping では、レコードの解析と DynamicFrame の構築時に、Integer 型のすべての列を String 型の列に変換します。これにより、ユーザーは任意のタイプに列をキャストすることができます。

      DataSource0 = glueContext.create_dynamic_frame.from_options(connection_type = "custom.jdbc", connection_options = {"dataTypeMapping":{"INTEGER":"STRING"}", connectionName":"test-connection-jdbc"}, transformation_ctx = "DataSource0")
    • 並列読み取りのパーティション化 – AWS Glue は、列にあるデータを分割することで、データストアから並列データを読み取れるようにします。パーティション列、パーティションの下限、パーティションの上限、およびパーティション数を指定する必要があります。この機能により、データの並列処理と、Spark アプリケーションに割り当てる複数の Spark エグゼキュータの使用が可能になります。

      DataSource0 = glueContext.create_dynamic_frame.from_options(connection_type = "custom.jdbc", connection_options = {"upperBound":"200","numPartitions":"4", "partitionColumn":"id","lowerBound":"0","connectionName":"test-connection-jdbc"}, transformation_ctx = "DataSource0")
    • 認証情報の保存に使用 AWS Secrets Manager — Data Catalog 接続には、secretId AWS Secrets Managerに保存されているシークレット用の機能を含めることもできます。 AWS シークレットには認証情報と認証情報を安全に保存し、 AWS Glue 実行時に提供できます。または、以下に示すように、Spark スクリプトから secretId を指定することもできます。

      DataSource = glueContext.create_dynamic_frame.from_options(connection_type = "custom.jdbc", connection_options = {"connectionName":"test-connection-jdbc", "secretId"-> "my-secret-id"}, transformation_ctx = "DataSource0")
    • 行述語と列射影によるソースデータのフィルタリング – AWS Glue Spark ランタイムでは、行述語と列射影を使用しながら、SQL クエリをプッシュダウンすることでソースにあるデータをフィルタリングすることもできます。これにより ETL ジョブは、フィルタリングされたデータを、プッシュダウンをサポートするデータストアからより迅速にロードできます。SELECT id, name, department FROM department WHERE id < 200. は、JDBC データ・ソースにプッシュダウンされた SQL クエリの例です。

      DataSource = glueContext.create_dynamic_frame.from_options(connection_type = "custom.jdbc", connection_options = {"query":"SELECT id, name, department FROM department WHERE id < 200","connectionName":"test-connection-jdbc"}, transformation_ctx = "DataSource0")
    • ジョブのブックマーク – AWS Glue は、JDBC ソースからのデータの増分ロードをサポートしています。AWS Glue は、最後に処理された (データストアからの) レコードを追跡し、後続の ETL ジョブ実行で新しいデータレコードを処理します。ジョブのブックマークは、その列が順番に増減しているのであれば、ブックマークキーのデフォルト列としてプライマリキーを使用します。ジョブのブックマークの詳細については、AWS Glue デベロッパーガイドの「ジョブ ブックマーク」を参照してください。

      DataSource0 = glueContext.create_dynamic_frame.from_options(connection_type = "custom.jdbc", connection_options = {"jobBookmarkKeys":["empno"], "jobBookmarkKeysSortOrder" :"asc", "connectionName":"test-connection-jdbc"}, transformation_ctx = "DataSource0")
  3. カスタムコネクタを JAR ファイルとしてパッケージ化し、そのファイルを Amazon S3 にアップロードします。

  4. カスタムコネクタをテストします。詳細については、「Glue カスタムコネクタ:ローカル検証テストガイド」の説明を参照してください。 GitHub

  5. AWS Glue Studio コンソールのナビゲーションペインで、[Connectors] (コネクタ) をクリックします。

  6. [Connectors] (コネクタ) ページで、[Create custom connector] (カスタムコネクタを作成) をクリックします。

  7. [Create custom connector] (カスタムコネクタの作成) ページで、次の情報を入力します。

    • カスタムコード JAR ファイルの Amazon S3 内ロケーションへのパス。

    • AWS Glue Studio によって使用されるコネクタの名前。

    • コネクタのタイプ (JDBCSpark、または Athena)。

    • コネクタを使用するために AWS Glue Studio が呼び出す、カスタムコード内のエントリポイントの名前。

      • JDBC コネクタの場合、このフィールドは JDBC ドライバのクラス名です。

      • Spark コネクタの場合、このフィールドは、データソースの完全修飾クラス名、またはそのエイリアスである必要があります。これは、format 演算子を使用して Spark データソースをロードする際に使用します。

    • (JDBC のみ) データストアの JDBC 接続で使用されるベース URL。

    • (オプション) カスタムコネクタの説明。

  8. [Create connector] (コネクターを作成) をクリックします。

  9. コネクタ用の接続を作成する の説明を参考に、[Connectors] (コネクタ) ページで、そのコネクタを使用する接続を作成します。

カスタムコネクタを使用したジョブのオーサリング

AWS Glue Studio では、データソースノードとデータターゲットノードの両方に対し、コネクタと接続を使用できます

データソースに対しコネクタを使用するジョブを作成する

新しいジョブの作成時に、データソースとデータターゲットで使用するコネクタを選択できます。

データソースまたはデータターゲットに対しコネクタを使用するジョブを作成するには
  1. AWS Management Console にサインインし、https://console.aws.amazon.com/gluestudio/ AWS Glue Studio にあるコンソールを開きます。

  2. [Connectors] (コネクタ) ページの [Your connections] (使用する接続)リソースリストで、ジョブで使用する接続を選択してから、[Create job] (ジョブを作成) をクリックします。

    または、AWS Glue Studio Glue Studio の [Jobs] (ジョブ) ページの [Create job] (ジョブを作成) で、[Source and target added to the graph] (グラフに追加されたソースとターゲット) を選択します。[Source] (ソース) ドロップダウンリストから、ジョブで使用するカスタムコネクタを選択します。また、[Target] (ターゲット) のためにコネクタを選択することもできます。

    ここに示す図は、[Source] (ソース) ドロップダウンリストが選択された [Jobs] (ジョブ) ページのスクリーンショットです。このスクリーンショットでは、ジョブに対して選択できる、コネクタなど各種のデータソースを表示しています。
  3. [Create] (作成) をクリックして、ビジュアルジョブエディタを開きます。

  4. コネクタを使用するノードのソースプロパティを設定する」 にある説明に従い、データソースノードを設定します。

  5. ビジュアル ETL と AWS Glue Studio」を参考に、変換、追加のデータストア、データターゲットを追加しながら、ETL ジョブを作成します。

  6. ジョブのプロパティを変更する」のように、ジョブのプロパティを設定して、ジョブの実行環境をカスタマイズします。

  7. このジョブを保存して、実行します。

コネクタを使用するノードのソースプロパティを設定する

データソース用にコネクタを使用するジョブを作成すると、ビジュアルジョブエディタには、コネクタ用に設定されたデータソースのノードを含むジョブグラフが表示されます。このノードには、データソースのプロパティを設定する必要があります。

コネクタを使用するデータソースノードのプロパティを設定するには
  1. ジョブグラフでコネクタのデータソースノードを選択するか、新しいノードを追加して [Node type] (ノードタイプ) でコネクタを選択します。次に、右側のノードの詳細パネルで、[Data source properties] (データソースのプロパティ) タブを選択します (まだ選択されていない場合)。

    ここに示すスクリーンショット画像では、AWS Glue Studio のビジュアルジョブエディタページで、グラフ内のデータソースノードが選択されています。右側の [Data source properties] (データソースのプロパティ) タブが選択されています。データソースのプロパティで表示されるフィールドは、接続 (使用可能な接続のドロップダウンリストとその隣の [Refresh] (更新) ボタン)、および [Add schema button] (スキーマを追加する) ボタンです。追加的な [Connection options] (接続オプション) セクションは、折りたたまれた状態で表示されます。
  2. [Data source properties] (データソースのプロパティ) タブで、このジョブに使用する接続を選択します。

    各接続タイプに必要な追加情報を入力します。

    JDBC
    • [Data source input type] (データソースの入力タイプ): テーブル名または SQL クエリのどちらを、データソースとして指定するか選択します。選択した選択に応じて、以下の追加情報を設定する必要があります。

      • [Table name] (テーブル名): データソース内のテーブルの名前。データソースでテーブルという用語が使用されていない場合は、カスタムコネクタの使用情報 (を参照 AWS Marketplace) に示されているように、適切なデータ構造の名前を指定します。

      • [Filter predicate] (フィルター述語): データソースを読み取る際に使用する条件句。これは、データのサブセットを取得するために使用される、WHERE 句と類似しています。

      • [Query code] (クエリコード): データソースから特定のデータセットを取得するために使用する SQL クエリを入力します。基本 SQL クエリの例は以下のとおりです。

        SELECT column_list FROM table_name WHERE where_clause
    • [Schema] (スキーマ): AWS Glue Studio がデータソースにアクセスする際には、Data Catalog テーブルからメタデータ情報を取得する代わりに、接続内に格納された情報を使用します。このため、データソースのスキーマメタデータを指定する必要があります。[Add schema] (スキーマを追加) をクリックして、スキーマエディタを開きます。

      スキーマエディタの使用方法については、「カスタム変換ノードでスキーマを編集する」を参照してください。

    • [Partition column] (パーティション列): (オプション) データの読み取りをパーティション化するには、[Partition column] (パーティション列)、[Lower bound] (下限)、[Upper bound] (上限)、および [Number of partitions] (パーティションの数) を、それぞれ指定します。

      lowerBound および upperBound 値は、パーティションのストライドを決定するために使用されます (テーブル内の行のフィルタリングには使用しません)。返されるテーブル内のすべての行は、パーティション化されています。

      注記

      列のパーティショニングは、データの読み取りに使用されるクエリに対し、さらにパーティショニング条件を追加します。テーブル名の代わりにクエリを使用する場合は、指定されたパーティショニング条件でクエリが動作することを確認する必要があります。例:

      • "SELECT col1 FROM table1" の形式のクエリでパーティション列を使用する場合、末尾に WHERE 句を追加してそのクエリをテストします。

      • クエリを "SELECT col1 FROM table1 WHERE col2=val" 形式で行っている場合、AND とパーティション列を使用する式を使用して、WHERE 句を拡張することでそのクエリをテストします。

    • データ型のキャスティング: データソースが JDBC で使用できないデータ型を使用している場合、このセクションを使用して、データソースのデータ型を JDBC データ型に変換する方法を指定します。データ型の変換方法には、最大 50 種類までを指定できます。データソース内で同じデータ型を使用しているすべての列は、同じ方法で変換されます。

      例えば、データソース内に Float データ型を使用する 3 つの列があり、Float データ型に対し JDBC の String データ型への変換を指定している場合には、Float データ型を使用する 3 つの列がすべて String データ型に変換されます。

    • ジョブのブックマークキー: ジョブのブックマークは、AWS Glue が状態情報を保持することと、古いデータの再処理を防ぐことを助けます。ブックマークキーとして 1 つ以上の列を指定します。AWS Glue Studio はブックマークキーを使用して ETL ジョブの以前の実行中にすでに処理されたデータを追跡します。カスタムブックマークキーに使用する列は、厳密に単調に増加または減少する必要がありますが、そこにギャップを含むことは可能です。

      ブックマークキーを複数入力した場合は、それらは結合され単一の複合キーを形成します。複合ジョブブックマークキーには、重複する列を含めることはできません。ブックマークキーを指定しない場合、AWS Glue Studio はデフォルトでプライマリキーをブックマークキーとして使用します。ただし、そのプライマリキーが連続して (ギャップなく) 増減することが条件です。ジョブブックマークのプロパティでは有効になっているものの、テーブルにプライマリキーがない場合には、カスタムジョブブックマークキーを指定する必要があります。この指定を行わないと、デフォルトとして使用するプライマリキーの検索が失敗し、ジョブの実行も失敗します。

    • [Job bookmark keys sorting order] (Job ブックマークキーの並べ替え順序): キー値を、連続的に増加させるか減少させるかを選択します。

    Spark
    • [Schema] (スキーマ): AWS Glue Studio がデータソースにアクセスする際には、Data Catalog テーブルからメタデータ情報を取得する代わりに、接続内に格納された情報を使用します。このため、データソースのスキーマメタデータを指定する必要があります。[Add schema] (スキーマを追加) をクリックして、スキーマエディタを開きます。

      スキーマエディタの使用方法については、「カスタム変換ノードでスキーマを編集する」を参照してください。

    • [Connection options:] (接続オプション): 追加の接続情報やオプションを提供するために、必要に応じて追加のキーと値のペアを入力します。例えば、データベース名、テーブル名、ユーザー名、パスワードを入力します。

      たとえば、で説明されているように OpenSearch、次のキーと値のペアを入力します。 チュートリアル: Elasticsearch 向けの AWS Glue コネクタを使用する

      • es.net.http.auth.user : username

      • es.net.http.auth.pass : password

      • es.nodes : https://<Elasticsearch endpoint>

      • es.port : 443

      • path: <Elasticsearch resource>

      • es.nodes.wan.only : true

    最低限使用する接続オプションの例については、MinimalSparkConnectorTest.scala on のサンプルテストスクリプトを参照してください。このサンプルには GitHub、接続で通常指定する接続オプションが示されています。

    Athena
    • [Table name] (テーブル名): データソース内のテーブルの名前。Athena-CloudWatch ログからの読み取りにコネクタを使用している場合は、all_log_streamsテーブル名を入力します。

    • [Athena schema name:] (Athena のスキーマ名): テーブルを含むデータベースに対応する、Athena データソース内のスキーマを選択します。Athena-CloudWatch ログからの読み取りにコネクタを使用している場合は、/aws/glue/nameと同様のスキーマ名を入力します。

    • [Schema] (スキーマ): AWS Glue Studio がデータソースにアクセスする際には、Data Catalog テーブルからメタデータ情報を取得する代わりに、接続内に格納された情報を使用します。このため、データソースのスキーマメタデータを指定する必要があります。[Add schema] (スキーマを追加) をクリックして、スキーマエディタを開きます。

      スキーマエディタの使用方法については、「カスタム変換ノードでスキーマを編集する」を参照してください。

    • [Additional connection options] (その他の接続オプション): 他の接続情報やオプションを提供する際には、必要に応じて追加のキーと値のペアを入力します。

    例については、https://github.com/aws-samples/ aws-glue-samples /tree/master/ GlueCustomConnectors /Development/Athena README.md にあるファイルを参照してください。このドキュメント内に示す手順では、サンプルコードにより、必要最小限の接続オプション (tableNameschemaName、および className) を使用しています。コード例では、これらのオプションを optionsMap 変数の一部として指定しており、それらを実際に指定することで接続を使用できるようになります。

  3. (オプション) 必要な情報を指定した後は、[Output schema] (出力スキーマ) タブを選択することで、出力されたデータソース用のデータスキーマを、ノードの詳細パネルに表示できるようになります。このタブに表示されるスキーマは、ジョブグラフに追加される任意の子ノードによって使用されます。

  4. (オプション) ノードおよびデータソースのプロパティを設定した後、ノードの詳細パネルの [Data preview] (データのプレビュー) タブを選択して、データソースからのデータセットをプレビューできます。ジョブ内の任意のノードに対してこのタブを初めて選択すると、データにアクセスする IAM ロールを指定するよう求められます。この機能を使用するには費用がかかり、IAM ロールを指定するとすぐに請求が開始します。

コネクタを使用するノードのターゲットプロパティの設定

データターゲットタイプにコネクタを使用する場合は、データターゲットノードのプロパティを設定する必要があります。

コネクタを使用するデータターゲットノードでプロパティを設定するには
  1. ジョブグラフで、コネクタのデータターゲットノードを選択します。次に、右側のノードの詳細パネルで、[Data target properties] (データターゲットのプロパティ) タブを選択します (選択されていない場合)。

  2. [Data target properties] (データターゲットのプロパティ) タブで、ターゲットへの書き込みに使用する接続を選択します。

    各接続タイプに必要な追加情報を入力します。

    JDBC
    • [Connection] (接続): コネクタで使用する接続を選択します。接続の作成方法については、「コネクタ用の接続を作成する」を参照してください。

    • [Table name] (テーブル名): データターゲット内のテーブルの名前。データターゲットがテーブルという用語を使用していない場合は、カスタムコネクタの使用情報 (を参照) に示されているように、適切なデータ構造の名前を指定します。 AWS Marketplace

    • [Batch size] (バッチサイズ) (オプション): 1 回のオペレーションでターゲットテーブルに挿入する、行数またはレコード数を入力します。デフォルト値は 1000 行です。

    Spark
    • [Connection] (接続): コネクタで使用する接続を選択します。以前に接続を作成していない場合は、[Create connection] (接続を作成する) をクリックして作成します。接続の作成方法については、「コネクタ用の接続を作成する」を参照してください。

    • [Connection options:] (接続オプション): 追加の接続情報やオプションを提供するために、必要に応じて追加のキーと値のペアを入力します。データベース名、テーブル名、ユーザー名、パスワードを入力することもできます。

      たとえば、で説明されているように OpenSearch、次のキーと値のペアを入力します。 チュートリアル: Elasticsearch 向けの AWS Glue コネクタを使用する

      • es.net.http.auth.user : username

      • es.net.http.auth.pass : password

      • es.nodes : https://<Elasticsearch endpoint>

      • es.port : 443

      • path: <Elasticsearch resource>

      • es.nodes.wan.only : true

    最低限使用する接続オプションの例については、MinimalSparkConnectorTest.scala on のサンプルテストスクリプトを参照してください。このサンプルには GitHub、接続で通常指定する接続オプションが示されています。

  3. 必要な情報を指定した後は、[Output schema] (出力スキーマ) タブを選択することで、出力されたデータソース用のデータスキーマを、ノードの詳細パネルに表示できるようになります。

コネクタと接続を管理する

コネクタと接続を管理するには、AWS Glue の [コネクタ] ページを使用します。

コネクタと接続の詳細を表示する

[Connectors] (コネクタ) ページの [Your connectors] (使用中のコネクタ)、および [Your connections] (使用中の接続) リソーステーブルで、コネクタと接続に関する概要情報を表示できます。詳細な情報を表示するには、以下の手順を実行します。

コネクタまたは接続の詳細を表示するには
  1. AWS Glue Studio コンソールのナビゲーションペインで、[Connectors] (コネクタ) をクリックします。

  2. 詳細情報を表示するコネクタまたは接続を選択します。

  3. [Actions] (アクション)、[View details] (詳細を表示) の順にクリックして、選択したコネクタまたは接続の詳細ページを開きます。

  4. 詳細ページでは、コネクタまたは接続に対し、[Edit] (編集) または [Delete] (削除) を選択できます。

    • コネクタの場合は、[Create connection] (接続を作成する) をクリックすることで、そのコネクタを使用する新しい接続を作成できます。

    • 接続の場合は、[Create job] (ジョブを作成する) をクリックすると、その接続を使用するジョブを作成できます。

コネクタと接続を編集する

[Connectors] (コネクタ) ページを使用して、コネクタと接続に保存されている情報を変更します。

コネクタまたは接続を変更するには
  1. AWS Glue Studio コンソールのナビゲーションペインで、[Connectors] (コネクタ) をクリックします。

  2. 変更するコネクタまたは接続を選択します。

  3. [Actions] (アクション) を選択して、[Edit] (編集) を選択します。

    また、[View details] (詳細を表示する) をクリックし、コネクタまたは接続の詳細ページを開いて、[Edit] (編集) を実行することもできます。

  4. [Edit connector] (コネクタを編集する) または [Edit connection] (接続を編集する) ページで、情報を更新した上で、[Save] (保存) をクリックします。

コネクタおよび接続を削除する

コネクタと接続を削除するには、[Connectors] (コネクタ) ページを使用します。コネクタを削除すると、そのコネクタのために作成された接続もすべて削除されます。

AWS Glue Studio からコネクタを削除する方法
  1. AWS Glue Studio コンソールのナビゲーションペインで、[Connectors] (コネクタ) をクリックします。

  2. 削除するコネクタまたは接続を選択します。

  3. [Actions] (アクション) を選択してから、[Delete] (削除) をクリックします。

    または、[View details] (詳細を表示する) をクリックし、コネクタまたは接続の詳細ページで、[Delete] (削除) を実行することもできます。

  4. Delete」と入力し、コネクタまたは接続を削除することを確認した上で、[Delete] (削除) をクリックします。

    コネクタを削除すると、そのコネクタのために作成された接続もすべて削除されます。

ここで削除される接続を使用していたジョブも、すべて機能しなくなります。これらのジョブは、別のデータストアを使用するように編集することも、あるいは削除することもできます。ジョブを削除する方法については、「ジョブの削除」を参照してください。

コネクタを削除しても、そのコネクタの AWS Marketplaceに対するサブスクリプションはキャンセルされません。削除されたコネクタのサブスクリプションを削除するには、「コネクタのサブスクリプションをキャンセルする」の手順に従います。

コネクタのサブスクリプションをキャンセルする

AWS Glue Studio接続とコネクタをから削除した後で、 AWS Marketplace コネクタが不要になった場合はでサブスクリプションをキャンセルできます。

注記

コネクタのサブスクリプションをキャンセルしても、コネクタや接続はアカウントから削除されません。コネクタと、それに関連する接続を使用するジョブは、以後コネクタを使用できなくなり失敗します。

からコネクタの購読を解除または再購読する前に AWS Marketplace、 AWS Marketplace その製品に関連付けられている既存の接続とコネクタを削除する必要があります。

でコネクタの購読を解除するには AWS Marketplace
  1. https://console.aws.amazon.com/marketplace AWS Marketplace でコンソールにサインインします。

  2. [Manage subscriptions] (サブスクリプションを管理する) をクリックします。

  3. [Manage subscriptions] (サブスクリプションの管理) ページで、キャンセルするコネクタのサブスクリプションの横にある [Manage] (管理) をクリックします。

  4. [Actions] (アクション)、[Delete Application] (アプリケーションの削除) の順にクリックします。

  5. 実行中のインスタンスがアカウントで課金されることを受け入れるチェックボックスをオンにして、[Yes, cancel subscription] (はい、サブスクリプションをキャンセルします) をクリックします。

カスタムコネクタの開発

コードを記述すると、データストアとの間でデータの読み取りや書き込みを実行したり、AWS Glue Studio ジョブで使用するためにデータのフォーマットを行ったりできます。Spark、Athena、JDBC データストアのためのコネクタを作成できます。に掲載されているサンプルコードには、 GitHub 実装する必要のある基本インターフェースの概要が記載されています。

コネクタコードを作成するには、ローカルの開発環境が必要です。コネクタを書き込むには、任意の IDE やコマンドラインエディタを使用することもできます。開発環境の例には以下があります。

Spark コネクタの開発

Spark DataSource API V2 (Spark 2.4) を使用して Spark コネクターを作成して、データを読み取ることができます。

カスタム Spark コネクタを作成するには

https://github.com/aws-samples/ /tree/master/ /development/spark/README.md にある Spark AWS Glue GitHub コネクタを開発するためのサンプルライブラリの手順に従ってください。aws-glue-samples GlueCustomConnectors

Athena コネクタの開発

Athena コネクタを作成し、AWS Glue および AWS Glue Studio でカスタムのデータソースをクエリするために使用できます。

カスタムの Athena コネクタを作成するには

https://github.com/aws-samples/ aws-glue-samples /tree/master/ GlueCustomConnectors /development/Athena にある Athena AWS Glue GitHub コネクタを開発するためのサンプルライブラリの手順に従ってください。

JDBC コネクタの開発

データストアにアクセスするために、JDBC を使用するコネクタを作成できます。

カスタムの JDBC コネクタを作成するには
  1. ローカルの開発環境に、AWS Glue Spark ランタイムライブラリをインストールします。https://github.com/aws-samples/ /tree/master/ /development/ /README.md にあるサンプルライブラリの説明を参照してください。AWS Glue GitHub aws-glue-samples GlueCustomConnectors GlueSparkRuntime

  2. データソースからデータを取得するための JDBC ドライバーを実装します。Java SE 8 向けの Java ドキュメントを参照してください。

    作成しているコード内に、AWS Glue Studio がコネクタの位置を特定するために使用するエントリポイントを記述します。[Class name] (クラス名) フィールドは、JDBC ドライバーへの完全なパスを指定する必要があります。

  3. GlueContext API を使用して、コネクタによりデータを読み取ります。必要に応じてユーザーは、AWS Glue Studio コンソールを使用して、データソースへの接続を設定するための他の入力オプションを追加できます。カスタム JDBC コネクタを使用して JDBC データベースから読み書きする方法を示すコード例については、「カスタム値と connectionType 値」を参照してください。 AWS Marketplace

AWS Glue Studio でのカスタムコネクタ使用例

カスタムコネクタの使用例については、次のブログを参照してください。

以下のコネクタの開発 AWS GlueAWS Marketplace

AWS パートナーは、カスタムコネクタを作成してアップロードし、 AWS Marketplace AWS Glue顧客に販売することができます。

コネクタコードの開発プロセスは、カスタムコネクタの場合と同様です。ただし、コネクタコードのアップロードと検証のプロセスには、より詳細な要素が含まれます。 GitHub Web サイトの「コネクタの作成」 AWS Marketplaceの手順を参照してください

AWS Glue Studio でのコネクタおよび接続の使用に関する制約事項

カスタムコネクタまたはからのコネクタを使用する場合は AWS Marketplace、以下の制限に注意してください。

  • カスタムコネクタ用に作成された接続では、TestConnection API は使用できません。

  • Data Catalog 接続でのパスワードの暗号化は、カスタムコネクタではサポートされていません。

  • JDBC コネクタを使用するデータソースノードでフィルター述語を指定した場合は、ジョブブックマークを使用できなくなります。

  • Marketplace 接続の作成は、 AWS Glue Studio ユーザーインターフェイス以外ではサポートされていません。