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 API runtime AWS Glue Spark. Waktu aktif Spark AWS Glue memungkinkan Anda untuk mencolokkan konektor yang sesuai dengan antarmuka Spark, Athena, atau JDBC. Ini memungkinkan Anda untuk memberikan konektor kustom dalam setiap opsi koneksi yang tersedia.
Anda dapat merangkum semua properti koneksi Anda dengan Koneksi AWS Glue dan menyediakan nama koneksi untuk tugas ETL Anda. 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. Misalnya:
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
-
Buat kode untuk konektor kustom Anda. Untuk informasi selengkapnya, lihat Mengembangkan konektor kustom.
-
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 tipeInteger
ke kolom tipeString
ketika mengurai catatan dan membangunDynamicFrame
. 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 kredensional dengan aman dan menyediakannya saat runtime. AWS Glue Atau, Anda dapat menentukansecretId
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")
-
Menyaring data sumber dengan predikat baris dan proyeksi kolom — Waktu aktif Spark AWS Glue juga memungkinkan pengguna untuk mendorong kueri SQL untuk mem-filter data pada sumber dengan predikat baris dan proyeksi kolom. Hal ini memungkinkan tugas ETL Anda untuk memuat data yang telah difilter lebih cepat dari penyimpanan data yang didorong oleh support tersebut. Contoh kueri SQL yang didorong ke sumber data JDBC 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 tugas — AWS Glue mendukung pemuatan tambahan data dari sumber JDBC. AWS Glue melacak catatan yang diproses terakhir dari penyimpanan data, dan memproses catatan data baru dalam eksekusi tugas ETL 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")
-
-
Kemas konektor kustom sebagai file JAR dan unggah file ke Amazon S3.
-
Uji konektor kustom Anda. Untuk informasi selengkapnya, lihat petunjuk GitHub di Glue Custom Connectors: Local Validation Tests Guide
. -
Di AWS Glue Studio konsol, pilih Konektor di panel navigasi konsol.
-
Pada halaman Konektor, pilih Buat konektor kustom.
-
Pada halaman Buat konektor kustom, masukkan informasi berikut:
-
Path ke lokasi dari file JAR kode kustom di Amazon S3.
-
Nama untuk konektor yang akan digunakan olehAWS Glue Studio.
-
Jenis konektor Anda, yang dapat berupa JDBC, Spark, atau Athena.
-
Nama titik masuk dalam kode kustom Anda yang AWS Glue Studio memanggil untuk menggunakan konektor.
-
Untuk konektor JDBC, bidang ini harus berupa nama kelas dari driver JDBC 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
.
-
-
(JDBC saja) URL dasar yang digunakan oleh koneksi JDBC untuk penyimpanan data.
-
(Opsional) Deskripsi untuk konektor kustom.
-
-
Pilih Buat konektor.
-
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
-
Di AWS Glue Studio konsol, pilih Konektor di panel navigasi konsol.
-
Pada halaman Konektor, pilih Buka AWS Marketplace.
-
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.
-
Pada halaman produk untuk konektor, gunakan tab untuk melihat informasi tentang konektor tersebut. Jika Anda memutuskan untuk membeli konektor ini, pilih Lanjutkan ke Berlangganan.
-
Berikan informasi pembayaran, lalu pilih Lanjutkan ke Konfigurasi.
-
Pada halaman Konfigurasi perangkat lunak ini, pilih metode deployment dan versi konektor yang akan digunakan. Pilih Lanjutkan ke Peluncuran.
-
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.
-
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.