Membuat konektor kustom - AWS Glue

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

Membuat konektor kustom

Anda juga dapat membuat konektor Anda sendiri dan kemudian mengunggah kode konektor keAWS Glue Studio.

Konektor khusus diintegrasikan ke dalam AWS Glue Studio melalui runtime AWS Glue API Spark. Runtime AWS Glue Spark memungkinkan Anda menyambungkan konektor apa pun yang sesuai dengan Spark, Athena, atau antarmuka. JDBC Ini memungkinkan Anda untuk memberikan konektor kustom dalam setiap opsi koneksi yang tersedia.

Anda dapat merangkum semua properti koneksi Anda dengan AWS GlueKoneksi dan memberikan nama koneksi ke pekerjaan Anda. ETL Integrasi dengan koneksi Katalog Data memungkinkan Anda untuk menggunakan properti koneksi yang sama di beberapa panggilan dalam satu aplikasi Spark tunggal atau di aplikasi yang berbeda.

Anda dapat menentukan opsi tambahan untuk koneksi tersebut. Skrip pekerjaan yang AWS Glue Studio dihasilkan berisi Datasource entri yang menggunakan koneksi untuk mencolokkan konektor Anda dengan opsi koneksi yang ditentukan. Sebagai contoh:

Datasource = glueContext.create_dynamic_frame.from_options(connection_type = "custom.jdbc", connection_options = {"dbTable":"Account","connectionName":"my-custom-jdbc- connection"}, transformation_ctx = "DataSource0")
Untuk menambahkan konektor khusus ke AWS Glue Studio
  1. Buat kode untuk konektor kustom Anda. Untuk informasi selengkapnya, lihat Mengembangkan konektor kustom.

  2. Tambahkan support untuk fitur AWS Glue ke konektor Anda. Berikut adalah beberapa contoh fitur ini dan bagaimana mereka digunakan dalam skrip pekerjaan yang dihasilkan olehAWS Glue Studio:

    • Pemetaan tipe data — Konektor Anda dapat melakukan typecasting pada kolom saat membacanya dari penyimpanan data yang mendasari. Misalnya, sebuah dataTypeMapping dari {"INTEGER":"STRING"} mengkonversi semua kolom tipe Integer ke kolom tipe String ketika mengurai catatan dan membangun DynamicFrame. Hal ini membantu pengguna untuk mengubah kolom ke jenis pilihan mereka.

      DataSource0 = glueContext.create_dynamic_frame.from_options(connection_type = "custom.jdbc", connection_options = {"dataTypeMapping":{"INTEGER":"STRING"}", connectionName":"test-connection-jdbc"}, transformation_ctx = "DataSource0")
    • Pemartisian untuk pembacaan paralel — AWS Glue memungkinkan data paralel membaca dari penyimpanan data dengan melakukan partisi data pada kolom. Anda harus menentukan kolom partisi, batas partisi bawah, batas partisi atas, dan jumlah partisi. Fitur ini memungkinkan Anda untuk menggunakan paralelisme data dan beberapa pelaksana Spark yang dialokasikan untuk aplikasi Spark.

      DataSource0 = glueContext.create_dynamic_frame.from_options(connection_type = "custom.jdbc", connection_options = {"upperBound":"200","numPartitions":"4", "partitionColumn":"id","lowerBound":"0","connectionName":"test-connection-jdbc"}, transformation_ctx = "DataSource0")
    • Gunakan AWS Secrets Manager untuk menyimpan kredensial-Koneksi Katalog Data juga dapat berisi secretId untuk rahasia yang disimpan di. AWS Secrets Manager AWS Rahasianya dapat menyimpan informasi otentikasi dan kredensil dengan aman dan menyediakannya saat runtime. AWS Glue Atau, Anda dapat menentukan secretId dari skrip Spark sebagai berikut:

      DataSource = glueContext.create_dynamic_frame.from_options(connection_type = "custom.jdbc", connection_options = {"connectionName":"test-connection-jdbc", "secretId"-> "my-secret-id"}, transformation_ctx = "DataSource0")
    • Memfilter data sumber dengan predikat baris dan proyeksi kolom — Runtime AWS Glue Spark juga memungkinkan pengguna untuk menekan SQL kueri untuk memfilter data di sumber dengan predikat baris dan proyeksi kolom. Ini memungkinkan ETL pekerjaan Anda memuat data yang difilter lebih cepat dari penyimpanan data yang mendukung push-down. Contoh SQL kueri yang didorong ke sumber JDBC data adalah: SELECT id, name, department FROM department WHERE id < 200.

      DataSource = glueContext.create_dynamic_frame.from_options(connection_type = "custom.jdbc", connection_options = {"query":"SELECT id, name, department FROM department WHERE id < 200","connectionName":"test-connection-jdbc"}, transformation_ctx = "DataSource0")
    • Bookmark Job — AWS Glue mendukung pemuatan data secara bertahap dari JDBC sumber. AWS Gluemelacak catatan yang diproses terakhir dari penyimpanan data, dan memproses catatan data baru dalam ETL pekerjaan berikutnya. Bookmark tugas menggunakan kunci primer sebagai kolom default untuk kunci bookmark, dengan ketentuan bahwa kolom ini bertambah atau berkurang secara berurutan. Untuk informasi selengkapnya tentang bookmark tugas, lihat Bookmark tugas di Panduan Developer AWS Glue .

      DataSource0 = glueContext.create_dynamic_frame.from_options(connection_type = "custom.jdbc", connection_options = {"jobBookmarkKeys":["empno"], "jobBookmarkKeysSortOrder" :"asc", "connectionName":"test-connection-jdbc"}, transformation_ctx = "DataSource0")
  3. Package konektor kustom sebagai JAR file dan unggah file ke Amazon S3.

  4. Uji konektor kustom Anda. Untuk informasi selengkapnya, lihat petunjuk GitHub di Glue Custom Connectors: Local Validation Tests Guide.

  5. Di AWS Glue Studio konsol, pilih Konektor di panel navigasi konsol.

  6. Pada halaman Konektor, pilih Buat konektor kustom.

  7. Pada halaman Buat konektor kustom, masukkan informasi berikut:

    • Jalur ke lokasi JAR file kode khusus di Amazon S3.

    • Nama untuk konektor yang akan digunakan olehAWS Glue Studio.

    • Jenis konektor Anda, yang bisa berupa salah satu JDBC, Spark, atau Athena.

    • Nama titik masuk dalam kode kustom Anda yang AWS Glue Studio memanggil untuk menggunakan konektor.

      • Untuk JDBC konektor, bidang ini harus menjadi nama kelas JDBC driver Anda.

      • Untuk konektor Spark, bidang ini harus berupa nama kelas sumber data yang memenuhi syarat, atau aliasnya, yang Anda gunakan saat memuat sumber data Spark dengan operator format.

    • (JDBChanya) Basis yang URL digunakan oleh JDBC koneksi untuk penyimpanan data.

    • (Opsional) Deskripsi untuk konektor kustom.

  8. Pilih Buat konektor.

  9. Dari halaman Konektor, buat sebuah koneksi yang menggunakan konektor ini, seperti yang dijelaskan di Membuat koneksi untuk konektor.

Menambahkan konektor ke AWS Glue Studio

Sebuah konektor adalah sepotong kode yang memudahkan komunikasi antara penyimpanan data anda dan AWS Glue. Anda dapat berlangganan konektor yang ditawarkan di AWS Marketplace, atau Anda dapat membuat konektor khusus Anda sendiri.

Berlangganan konektor AWS Marketplace

AWS Glue Studiomembuatnya mudah untuk menambahkan konektor dari AWS Marketplace.

Untuk menambahkan konektor dari AWS Marketplace ke AWS Glue Studio
  1. Di AWS Glue Studio konsol, pilih Konektor di panel navigasi konsol.

  2. Pada halaman Konektor, pilih Buka AWS Marketplace.

  3. Di AWS Marketplace, di Produk unggulan, pilih konektor yang ingin Anda gunakan. Anda dapat memilih salah satu konektor unggulan, atau menggunakan kolom pencarian. Anda dapat mencari berdasarkan nama atau jenis konektor, dan Anda dapat menggunakan opsi untuk menyempurnakan hasil pencarian.

    Jika Anda ingin menggunakan salah satu konektor unggulan, pilih Tampilkan Produk. Jika Anda menggunakan kolom pencarian untuk menemukan konektor, pilih nama konektornya.

  4. Pada halaman produk untuk konektor, gunakan tab untuk melihat informasi tentang konektor tersebut. Jika Anda memutuskan untuk membeli konektor ini, pilih Lanjutkan ke Berlangganan.

  5. Berikan informasi pembayaran, lalu pilih Lanjutkan ke Konfigurasi.

  6. Pada halaman Konfigurasi perangkat lunak ini, pilih metode deployment dan versi konektor yang akan digunakan. Pilih Lanjutkan ke Peluncuran.

  7. Pada halaman Luncurkan perangkat lunak ini, Anda dapat meninjau Petunjuk Penggunaan yang disediakan oleh penyedia konektor. Saat Anda siap untuk melanjutkan, pilih Aktifkan koneksi di AWS Glue Studio.

    Setelah beberapa saat, konsol menampilkan halaman Buat koneksi marketplace diAWS Glue Studio.

  8. Buat sebuah koneksi yang menggunakan konektor ini, seperti yang diterangkan dalam Membuat koneksi untuk konektor.

    Atau, Anda dapat memilih Aktifkan konektor saja untuk melewati pembuatan koneksi pada saat ini. Anda harus membuat sebuah koneksi di kemudian hari sebelum Anda dapat menggunakan konektor.