AWS Glue
開発者ガイド

GlueContext クラス

Apache SparkSQL SQLContext オブジェクトをラップすることにより、Apache Spark プラットフォームとやり取りするためのメカニズムを提供します。

作成

__init__

__init__(sparkContext)

  • sparkContext – 使用する Apache Spark のコンテキスト。

getSource

getSource(connection_type, transformation_ctx = "", **options)

外部ソースから DynamicFrames を読み取るために使用できる DataSource オブジェクトを作成します。

  • connection_type – 使用する接続タイプ (Amazon S3、Amazon Redshift、JDBC など)。有効な値には、s3mysqlpostgresqlredshiftsqlserveroracle および dynamodb があります。

  • transformation_ctx – 使用する変換コンテキスト (オプション)。

  • options – オプションの名前と値のペアのコレクション。詳細については、「AWS Glue での ETL の接続タイプとオプション」を参照してください。

以下は、getSource の使用例です。

>>> data_source = context.getSource("file", paths=["/in/path"]) >>> data_source.setFormat("json") >>> myFrame = data_source.getFrame()

create_dynamic_frame_from_rdd

create_dynamic_frame_from_rdd(data, name, schema=None, sample_ratio=None, transformation_ctx="")

Apache Spark Resilient Distributed Dataset (RDD) から作成された DynamicFrame を返します。

  • data – 使用するデータソース。

  • name – 使用するデータの名前。

  • schema – 使用するスキーマ (オプション)。

  • sample_ratio – 使用するサンプル比率 (オプション)。

  • transformation_ctx – 使用する変換コンテキスト (オプション)。

create_dynamic_frame_from_catalog

create_dynamic_frame_from_catalog(database, table_name, redshift_tmp_dir, transformation_ctx = "", push_down_predicate= "", additional_options = {}, catalog_id = None)

カタログデータベースとテーブル名を使用して作成された DynamicFrame を返します。

  • Database – 読み込むデータベース。

  • table_name – 読み取り元のテーブルの名前。

  • redshift_tmp_dir – 使用する Amazon Redshift の一時ディレクトリ (オプション)。

  • transformation_ctx – 使用する変換コンテキスト (オプション)。

  • push_down_predicate – データセットのすべてのファイルをリストアップして読み取る必要がないフィルタパーティション。詳細については、「プッシュダウン述語を使用した事前フィルタ処理」を参照してください。

  • additional_options – AWS Glue に指定する追加のオプション。

  • catalog_id — アクセス中の データカタログ のカタログ ID (アカウント ID)。None の場合は、発信者のアカウント ID のデフォルトが使用されます。

create_dynamic_frame_from_options

create_dynamic_frame_from_options(connection_type, connection_options={}, format=None, format_options={}, transformation_ctx = "", push_down_predicate= "")

指定された接続と形式で作成された DynamicFrame を返します。

  • connection_type – 接続タイプ (Amazon S3、Amazon Redshift、JDBC など)。有効な値には、s3mysqlpostgresqlredshiftsqlserveroracle および dynamodb があります。

  • connection_options – 接続オプション (パスやデータベーステーブルなど) (オプション)。s3 の connection_type に関しては、Amazon S3 パスのリストが定義されています。

    connection_options = {"paths": ["s3://aws-glue-target/temp"]}

    JDBC 接続の場合、いくつかのプロパティを定義する必要があります。データベース名は URL の一部である必要があることに注意してください。オプションで接続オプションに含めることができます。

    connection_options = {"url": "jdbc-url/database", "user": "username", "password": "password","dbtable": "table-name", "redshiftTmpDir": "s3-tempdir-path"}

    dbtable プロパティは JDBC テーブルの名前です。データベース内でスキーマをサポートする JDBC データストアの場合、schema.table-name を指定します。スキーマを指定しない場合、デフォルトの「パブリック」スキーマが使用されます。

    詳細については、「AWS Glue での ETL の接続タイプとオプション」を参照してください。

  • format – 形式の仕様 (オプション)。これは、複数の形式をサポートする Amazon Simple Storage Service (Amazon S3) または AWS Glue 接続に使用します。サポートされる形式については、「AWS Glue での ETL 入力および出力の形式オプション」を参照してください。

  • format_options – 指定した形式の形式オプション。サポートされる形式については、「AWS Glue での ETL 入力および出力の形式オプション」を参照してください。

  • transformation_ctx – 使用する変換コンテキスト (オプション)。

  • push_down_predicate – データセットのすべてのファイルをリストアップして読み取る必要がないフィルタパーティション。詳細については、「プッシュダウン述語を使用した事前フィルタ処理」を参照してください。

書き込み

getSink

getSink(connection_type, format = None, transformation_ctx = "", **options)

外部ソースに DynamicFrames を書き込むために使用できる DataSink オブジェクトを取得します。期待しているシンクを確実に取得するために、SparkSQL format を最初に確認します。

  • connection_type – 使用する接続タイプ (Amazon S3、Amazon Redshift、JDBC など)。有効な値には、s3mysqlpostgresqlredshiftsqlserver、および oracle があります。

  • format – 使用する SparkSQL 形式 (オプション)。

  • transformation_ctx – 使用する変換コンテキスト (オプション)。

  • options – オプションの名前と値のペアのコレクション。

以下に例を示します。

>>> data_sink = context.getSink("s3") >>> data_sink.setFormat("json"), >>> data_sink.writeFrame(myFrame)

write_dynamic_frame_from_options

write_dynamic_frame_from_options(frame, connection_type, connection_options={}, format=None, format_options={}, transformation_ctx = "")

指定された接続と形式を使用して DynamicFrame を書き込み、返します。

  • frame – 書き込む DynamicFrame

  • connection_type – 接続タイプ (Amazon S3、Amazon Redshift、JDBC など)。有効な値には、s3mysqlpostgresqlredshiftsqlserver、および oracle があります。

  • connection_options – 接続オプション (パスやデータベーステーブルなど) (オプション)。s3connection_type では、Amazon S3 パスが定義されています。

    connection_options = {"path": "s3://aws-glue-target/temp"}

    JDBC 接続の場合、いくつかのプロパティを定義する必要があります。データベース名は URL の一部である必要があることに注意してください。オプションで接続オプションに含めることができます。

    connection_options = {"url": "jdbc-url/database", "user": "username", "password": "password","dbtable": "table-name", "redshiftTmpDir": "s3-tempdir-path"}

    dbtable プロパティは JDBC テーブルの名前です。データベース内でスキーマをサポートする JDBC データストアの場合、schema.table-name を指定します。スキーマを指定しない場合、デフォルトの「パブリック」スキーマが使用されます。

    詳細については、「AWS Glue での ETL の接続タイプとオプション」を参照してください。

  • format – 形式の仕様 (オプション)。これは、複数の形式をサポートする Amazon Simple Storage Service (Amazon S3) または AWS Glue 接続に使用します。サポートされる形式については、「AWS Glue での ETL 入力および出力の形式オプション」を参照してください。

  • format_options – 指定した形式の形式オプション。サポートされる形式については、「AWS Glue での ETL 入力および出力の形式オプション」を参照してください。

  • transformation_ctx – 使用する変換コンテキスト (オプション)。

write_from_options

write_from_options(frame_or_dfc, connection_type, connection_options={}, format={}, format_options={}, transformation_ctx = "")

指定された接続および形式情報で作成された DynamicFrame または DynamicFrameCollection を書き込み、返します。

  • frame_or_dfc – 書き込む DynamicFrame または DynamicFrameCollection

  • connection_type – 接続タイプ (Amazon S3、Amazon Redshift、JDBC など)。有効な値には、s3mysqlpostgresqlredshiftsqlserver、および oracle があります。

  • connection_options – 接続オプション (パスやデータベーステーブルなど) (オプション)。s3connection_type では、Amazon S3 パスが定義されています。

    connection_options = {"path": "s3://aws-glue-target/temp"}

    JDBC 接続の場合、いくつかのプロパティを定義する必要があります。データベース名は URL の一部である必要があることに注意してください。オプションで接続オプションに含めることができます。

    connection_options = {"url": "jdbc-url/database", "user": "username", "password": "password","dbtable": "table-name", "redshiftTmpDir": "s3-tempdir-path"}

    dbtable プロパティは JDBC テーブルの名前です。データベース内でスキーマをサポートする JDBC データストアの場合、schema.table-name を指定します。スキーマを指定しない場合、デフォルトの「パブリック」スキーマが使用されます。

    詳細については、「AWS Glue での ETL の接続タイプとオプション」を参照してください。

  • format – 形式の仕様 (オプション)。これは、複数の形式をサポートする Amazon Simple Storage Service (Amazon S3) または AWS Glue 接続に使用します。サポートされる形式については、「AWS Glue での ETL 入力および出力の形式オプション」を参照してください。

  • format_options – 指定した形式の形式オプション。サポートされる形式については、「AWS Glue での ETL 入力および出力の形式オプション」を参照してください。

  • transformation_ctx – 使用する変換コンテキスト (オプション)。

write_dynamic_frame_from_catalog

write_dynamic_frame_from_catalog(frame, database, table_name, redshift_tmp_dir, transformation_ctx = "", addtional_options = {}, catalog_id = None)

カタログデータベースとテーブル名を使用して DynamicFrame を書き込み、返します。

  • frame – 書き込む DynamicFrame

  • Database – 読み込むデータベース。

  • table_name – 読み取り元のテーブルの名前。

  • redshift_tmp_dir – 使用する Amazon Redshift の一時ディレクトリ (オプション)。

  • transformation_ctx – 使用する変換コンテキスト (オプション)。

  • catalog_id — アクセス中の データカタログ のカタログ ID (アカウント ID)。None の場合は、発信者のアカウント ID のデフォルトが使用されます。

write_dynamic_frame_from_jdbc_conf

write_dynamic_frame_from_jdbc_conf(frame, catalog_connection, connection_options={}, redshift_tmp_dir = "", transformation_ctx = "", catalog_id = None)

指定された JDBC 接続情報を使用して DynamicFrame を書き込み、返します。

  • frame – 書き込む DynamicFrame

  • catalog_connection – 使用するカタログ接続。

  • connection_options – 接続オプション (パスやデータベーステーブルなど) (オプション)。詳細については、「AWS Glue での ETL の接続タイプとオプション」を参照してください。

  • redshift_tmp_dir – 使用する Amazon Redshift の一時ディレクトリ (オプション)。

  • transformation_ctx – 使用する変換コンテキスト (オプション)。

  • catalog_id — アクセス中の データカタログ のカタログ ID (アカウント ID)。None の場合は、発信者のアカウント ID のデフォルトが使用されます。

write_from_jdbc_conf

write_from_jdbc_conf(frame_or_dfc, catalog_connection, connection_options={}, redshift_tmp_dir = "", transformation_ctx = "", catalog_id = None)

指定された JDBC 接続情報を使用して DynamicFrame または DynamicFrameCollection を書き込み、返します。

  • frame_or_dfc – 書き込む DynamicFrame または DynamicFrameCollection

  • catalog_connection – 使用するカタログ接続。

  • connection_options – 接続オプション (パスやデータベーステーブルなど) (オプション)。詳細については、「AWS Glue での ETL の接続タイプとオプション」を参照してください。

  • redshift_tmp_dir – 使用する Amazon Redshift の一時ディレクトリ (オプション)。

  • transformation_ctx – 使用する変換コンテキスト (オプション)。

  • catalog_id — アクセス中の データカタログ のカタログ ID (アカウント ID)。None の場合は、発信者のアカウント ID のデフォルトが使用されます。

抽出

extract_jdbc_conf

extract_jdbc_conf(connection_name, catalog_id = None)

userpasswordvendorurl をキーに持つ dict を データカタログ 内の接続オブジェクトから返します。

  • connection_name – データカタログ 内の接続の名前

  • catalog_id — アクセス中の データカタログ のカタログ ID (アカウント ID)。None の場合は、発信者のアカウント ID のデフォルトが使用されます。