カスタムコネクタの開発 - AWS Glue

カスタムコネクタの開発

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

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

Spark コネクタの開発

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

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

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

Athena コネクタの開発

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

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

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

JDBC コネクタの開発

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

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

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

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

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

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

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

AWS Marketplace 向け AWS Glue コネクターの開発

AWS パートナーであれば、作成したカスタムコネクタを AWS Marketplace にアップロードし、それを AWS Glue のお客様に販売することができます

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