Bekerja dengan koneksi MongoDB pada Tugas ETL - AWS Glue

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

Bekerja dengan koneksi MongoDB pada Tugas ETL

Anda dapat membuat koneksi untuk MongoDB dan kemudian menggunakan koneksi yang di tugas AWS Glue Anda. Untuk informasi selengkapnya, lihat Koneksi MongoDB di panduan AWS Glue pemrograman. Koneksi url, username dan password disimpan dalam koneksi MongoDB. Pilihan lain dapat ditentukan dalam skrip tugas ETL Anda dengan menggunakan parameter additionalOptions dari glueContext.getCatalogSource. Pilihan lainnya bisa meliputi:

  • database: (Wajib) Basis data MongoDB untuk dibaca.

  • collection: (Wajib) Kumpulan MongoDB untuk dibaca.

Dengan menempatkan informasi database dan collection dalam skrip tugas ETL, Anda dapat menggunakan koneksi yang sama untuk beberapa tugas.

  1. Buat koneksi AWS Glue Data Catalog untuk sumber data MongoDB. Lihat "connectionType": "mongodb" untuk deskripsi parameter koneksi. Anda dapat membuat koneksi menggunakan konsol, API atau CLI.

  2. Membuat basis data di AWS Glue Data Catalog untuk menyimpan definisi tabel untuk data MongoDB Anda. Lihat AWS Gluedatabase untuk informasi selengkapnya.

  3. Buat crawler yang melakukan perayapan pada data yang ada dalam MongoDB dengan menggunakan informasi dalam koneksi tersebut untuk connect ke MongoDB. Crawler menciptakan tabel di AWS Glue Data Catalog yang mendeskripsikan tabel dalam basis data MongoDB yang Anda gunakan dalam tugas Anda. Lihat Mendefinisikan crawler di AWS Glue untuk informasi selengkapnya.

  4. Buat tugas dengan sebuah skrip kustom. Anda dapat membuat tugas menggunakan konsol, API atau CLI. Untuk informasi selengkapnya, lihat Menambahkan Tugas di AWS Glue.

  5. Pilih target data untuk tugas Anda. Tabel yang mewakili target data dapat didefinisikan dalam Katalog Data Anda, atau tugas Anda dapat membuat tabel target ketika ia berjalan. Anda memilih lokasi target ketika Anda menulis tugas. Jika target memerlukan sebuah koneksi, maka koneksi tersebut juga direferensikan dalam tugas Anda. Jika tugas Anda memerlukan beberapa target data, maka Anda dapat menambahkannya nanti dengan mengedit skrip.

  6. Sesuaikan lingkungan pemrosesan tugas dengan memberikan argumen untuk tugas Anda dan skrip yang dihasilkan.

    Berikut adalah contoh membuat DynamicFrame dari basis data MongoDB berdasarkan struktur tabel yang ditentukan dalam Katalog Data. Kode menggunakan additionalOptions untuk memberikan informasi sumber data tambahan:

    Scala
    val resultFrame: DynamicFrame = glueContext.getCatalogSource( database = catalogDB, tableName = catalogTable, additionalOptions = JsonOptions(Map("database" -> DATABASE_NAME, "collection" -> COLLECTION_NAME)) ).getDynamicFrame()
    Python
    glue_context.create_dynamic_frame_from_catalog( database = catalogDB, table_name = catalogTable, additional_options = {"database":"database_name", "collection":"collection_name"})
  7. Jalankan tugas, baik sesuai permintaan atau melalui pemicu.