Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
Anda juga dapat membuat konektor Anda sendiri dan kemudian mengunggah kode konektor ke AWS Glue Studio.
Konektor khusus diintegrasikan ke dalam AWS Glue Studio melalui AWS Glue Spark runtime API. Bagian AWS Glue Spark runtime memungkinkan Anda menyambungkan konektor apa pun 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 AWS Glue Koneksi dan berikan nama koneksi ke pekerjaan 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. Naskah pekerjaan yang AWS Glue Studio menghasilkan 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
-
Buat kode untuk konektor kustom Anda. Untuk informasi selengkapnya, lihat Mengembangkan konektor kustom.
-
Tambahkan dukungan untuk AWS Glue fitur untuk konektor Anda. Berikut adalah beberapa contoh fitur ini dan bagaimana mereka digunakan dalam skrip pekerjaan yang dihasilkan oleh AWS 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")
-
Partisi untuk pembacaan paralel - AWS Glue memungkinkan pembacaan data paralel dari penyimpanan data dengan mempartisi 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 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")
-
Memfilter data sumber dengan predikat baris dan proyeksi kolom — The AWS Glue Spark runtime juga memungkinkan pengguna untuk menekan kueri SQL untuk memfilter data di 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 Job — AWS Glue mendukung pemuatan data secara bertahap dari sumber JDBC. AWS Glue melacak catatan yang diproses terakhir dari penyimpanan data, dan memproses catatan data baru dalam pekerjaan 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
. -
Dalam 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 oleh AWS Glue Studio.
-
Jenis konektor Anda, yang dapat berupa JDBC, Spark, atau Athena.
-
Nama titik masuk dalam kode kustom Anda yang AWS Glue Studio panggilan 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
Konektor adalah bagian dari kode yang memfasilitasi 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 Studio membuatnya mudah untuk menambahkan konektor dari AWS Marketplace.
Untuk menambahkan konektor dari AWS Marketplace ke AWS Glue Studio
-
Dalam 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 di AWS 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.