DynamicFrameWriter kelas - AWS Glue

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

DynamicFrameWriter kelas

 metode

__init__

__init__(glue_context)

from_options

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

Menulis sebuah DynamicFrame menggunakan koneksi dan format yang ditentukan.

  • frameDynamicFrame yang akan ditulis.

  • connection_type — Jenis koneksi. Nilai yang valid termasuk s3, mysql, postgresql, redshift, sqlserver, dan oracle.

  • connection_options — Pilihan koneksi, seperti path dan tabel basis data (opsional). Untuk connection_type dari s3, path Amazon S3 didefinisikan.

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

    Untuk koneksi JDBC, beberapa properti harus didefinisikan. Perhatikan bahwa nama basis data harus menjadi bagian dari URL. Secara opsional dapat disertakan dalam opsi koneksi.

    Awas

    Menyimpan kata sandi dalam skrip Anda tidak disarankan. Pertimbangkan boto3 untuk menggunakan untuk mengambilnya dari AWS Secrets Manager atau Katalog Data AWS Glue.

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

    Properti dbtable adalah nama tabel JDBC. Untuk penyimpanan data JDBC yang mendukung skema dalam basis data, tentukan schema.table-name. Jika skema tidak disediakan, maka skema "publik" default digunakan.

    Untuk informasi selengkapnya, lihat Jenis dan opsi koneksi untuk ETL di AWS Glue untuk Spark.

  • format — Format spesifikasi (opsional). Ini digunakan untuk Amazon Simple Storage Service (Amazon S3) atau AWS Glue koneksi yang mendukung berbagai format. Lihat Opsi format data untuk input dan output di AWS Glue untuk Spark untuk format yang didukung.

  • format_options — Pilihan format untuk format yang ditentukan. Lihat Opsi format data untuk input dan output di AWS Glue untuk Spark untuk format yang didukung.

  • transformation_ctx — Sebuah konteks transformasi yang akan digunakan (opsional).

from_catalog

from_catalog(frame, name_space, table_name, redshift_tmp_dir="", transformation_ctx="")

Menulis sebuah DynamicFrame menggunakan basis data katalog dan nama tabel yang ditentukan.

  • frameDynamicFrame yang akan ditulis.

  • name_space — Basis data yang akan digunakan.

  • table_nametable_name yang akan digunakan.

  • redshift_tmp_dir — Sebuah direktori sementara Amazon Redshift yang akan digunakan (opsional).

  • transformation_ctx — Sebuah konteks transformasi yang akan digunakan (opsional).

  • additional_options— Opsi tambahan yang disediakan untuk AWS Glue.

    Untuk menulis ke Lake Formation tabel yang diatur, Anda dapat menggunakan opsi tambahan ini:

    • transactionId— (String) ID transaksi di mana untuk melakukan penulisan ke tabel yang Diatur. Transaksi ini tidak dapat dilakukan atau dibatalkan, atau penulisan akan gagal.

    • callDeleteObjectsOnCancel — (Boolean, opsional) Jika diatur ke true (default), AWS Glue secara otomatis memanggil DeleteObjectsOnCancel API setelah objek ditulis ke Amazon S3. Untuk informasi lebih lanjut, lihat DeleteObjectsOnCancel dalam Panduan Pengembang AWS Lake Formation .

    contoh Contoh: Menulis ke tabel yang diatur di Lake Formation
    txId = glueContext.start_transaction(read_only=False) glueContext.write_dynamic_frame.from_catalog( frame=dyf, database = db, table_name = tbl, transformation_ctx = "datasource0", additional_options={"transactionId":txId}) ... glueContext.commit_transaction(txId)

from_jdbc_conf

from_jdbc_conf(frame, catalog_connection, connection_options={}, redshift_tmp_dir = "", transformation_ctx="")

Menulis sebuah DynamicFrame menggunakan informasi koneksi JDBC yang ditentukan.

  • frameDynamicFrame yang akan ditulis.

  • catalog_connection — Koneksi katalog yang akan digunakan.

  • connection_options — Pilihan koneksi, seperti path dan tabel basis data (opsional).

  • redshift_tmp_dir — Sebuah direktori sementara Amazon Redshift yang akan digunakan (opsional).

  • transformation_ctx — Sebuah konteks transformasi yang akan digunakan (opsional).

Example for write_dynamic_frame

Contoh ini menulis output secara lokal menggunakan connection_type dari S3 dengan argumen path POSIX di connection_options, yang memungkinkan penulisan ke penyimpanan lokal.

glueContext.write_dynamic_frame.from_options(\ frame = dyf_splitFields,\ connection_options = {'path': '/home/glue/GlueLocalOutput/'},\ connection_type = 's3',\ format = 'json')