AWS Glue
開発者ガイド

AWS Glue での ETL の接続タイプとオプション

AWS Glue の PySpark と Scala のさまざまなメソッドと変換では、connectionType パラメータと connectionOptions パラメータを使用して接続パラメータを指定します。

connectionType パラメータは以下の値を受け取ります。ここでは、接続タイプ別に関連する "connectionOptions" パラメータの値について説明します。

一般的に、これらは ETL 入力用であり、ETL シンクには適用されません。

"connectionType": "s3"

Amazon Simple Storage Service (Amazon S3) への接続を指定します。

以下の connectionOptions"connectionType": "s3" で使用します。

  • "paths": (必須) 読み込み元の Amazon S3 パスのリスト。

  • "exclusions": (オプション) 除外する Unix スタイルの glob パターンの JSON リストを含む文字列。たとえば "[\"**.pdf\"]" はすべての pdf ファイルを除外します。AWS Glue でサポートされている glob 構文の詳細については、「包含パターンと除外パターンを使用する」を参照してください。

  • "compressionType": または「compression」: (オプション) データの圧縮方法を指定します。Amazon S3 ソースでは "compressionType"、Amazon S3 ターゲットでは "compression" を使用します。データに標準のファイル拡張子が付いている場合、このオプションは一般的に不要です。指定できる値は "gzip" および "bzip" です。

  • "groupFiles": (オプション) 入力ファイルが 50,000 個を超える場合、ファイルのグループ化はデフォルトで有効になっています。入力ファイルが 50,000 個未満の場合に、グループ化を有効にするには、このパラメータを "inPartition" に設定します。入力ファイルが 50,000 個を超える場合に、グループ化を無効にするには、このパラメータを "none" に設定します。

  • "groupSize": (オプション) ターゲットグループのサイズ (バイト単位)。デフォルトは、入力データのサイズとクラスターのサイズに基づいて計算されます。入力ファイルが 50,000 個未満の場合、このオプションを有効にするには、"groupFiles""inPartition" に設定する必要があります。

  • "recurse": (オプション) true に設定した場合は、指定したパスの下にあるすべてのサブディレクトリ内のファイルを再帰的に読み取ります。

  • "maxBand": (オプション、詳細設定) この詳細設定オプションには、S3 リストが一貫していると想定されるまでの期間を秒単位で指定します。直前の maxBand 秒以内の変更タイムスタンプが付いたファイルが、S3 の結果整合性を説明するために、特にジョブのブックマークの使用時に追跡されます。ほとんどのユーザーはこのオプションを設定する必要はありません。デフォルト値は 900 秒です。

  • "maxFilesInBand": (オプション、詳細設定) このオプションは、直前の maxBand 秒間に保存するファイルの最大数を指定します。この数を超えた場合、余分なファイルはスキップされ、次のジョブ実行時にのみ処理されます。ほとんどのユーザーはこのオプションを設定する必要はありません。

"connectionType": "parquet"

Apache Parquet ファイル形式で Amazon Simple Storage Service (Amazon S3) に保存されるファイルへの接続を指定します。

以下の connectionOptions"connectionType": "parquet" で使用します。

  • paths: (必須) 読み込み元の Amazon S3 パスのリスト。

  • (その他のオプション名/値ペア): 書式設定オプションなどのその他のオプションはすべて SparkSQL DataSource に直接渡されます。詳細については、「Redshift data source for Spark」を参照してください。

"connectionType": "orc"

Apache Hive Optimized Row Columnar (ORC) ファイル形式で Amazon S3 に保存されるファイルへの接続を指定します。

以下の connectionOptions"connectionType": "orc" で使用します。

  • paths: (必須) 読み込み元の Amazon S3 パスのリスト。

  • (その他のオプション名/値ペア): 書式設定オプションなどのその他のオプションはすべて SparkSQL DataSource に直接渡されます。詳細については、「Redshift data source for Spark」を参照してください。

JDBC connectionType の値

これには次のものが含まれます。

  • "connectionType": "mysql": MySQL データベースへの接続を指定します。

  • "connectionType": "redshift": Amazon Redshift データベースへの接続を指定します。

  • "connectionType": "oracle": Oracle データベースへの接続を指定します。

  • "connectionType": "sqlserver": Microsoft SQL Server データベースへの接続を指定します。

  • "connectionType": "postgresql": PostgreSQL データベースへの接続を指定します。

JDBC 接続で以下の connectionOptions を使用します。

  • "url": (必須) データベースの JDBC URL。

  • "dbtable": 読み取り元のデータベーステーブル。データベース内でスキーマをサポートする JDBC データストアの場合、schema.table-name を指定します。スキーマを指定しない場合、デフォルトの「パブリック」スキーマが使用されます。

  • "redshiftTmpDir": (Amazon Redshift の場合は必須、他の JDBC タイプの場合はオプション) データベースからコピーするときに一時データをステージングできる Amazon S3 パス。

  • "user": (必須) 接続時に使用するユーザー名。

  • "password": (必須) 接続時に使用するパスワード。

書式設定オプションを含め、JDBC 接続用に connectionOptions に含まれるその他のオプション名/値ペアはすべて、基になる SparkSQL DataSource に直接渡されます。詳細については、「Redshift data source for Spark」を参照してください。

"connectionType": "dynamodb"

Amazon DynamoDB (DynamoDB) への接続を指定します。

以下の connectionOptions"connectionType": "dynamodb" で使用します。

  • "dynamodb.input.tableName": (必須) 読み取り元の DynamoDB テーブル。

  • "dynamodb.throughput.read.percent": (オプション) 使用する読み込みキャパシティーユニット (RCU) の割合。デフォルトは "0.5" に設定されます。許容値は "0.1" から "1.5" (これらの値を含む) です。

  • "dynamodb.splits": (オプション) このパラメータは、読み取り中にこの DynamoDB テーブルをパーティション分割する数を定義します。デフォルトは "1" に設定されます。許容値は "1" から "1,000,000" (これらの値を含む) です。