Konektor I/O terkelola adalah transformasi Apache Beam yang menyediakan API umum untuk membuat sumber dan sink.
Ringkasan
Anda membuat konektor I/O terkelola menggunakan kode Apache Beam, seperti konektor I/O lainnya. Anda menentukan sumber atau sink untuk membuat instance dan meneruskan serangkaian parameter konfigurasi. Anda juga dapat memasukkan parameter konfigurasi ke dalam file YAML dan memberikan URL ke file tersebut.
Di backend, Dataflow memperlakukan konektor I/O terkelola sebagai layanan, yang memungkinkan Dataflow mengelola operasi runtime untuk konektor. Kemudian, Anda dapat berfokus pada logika bisnis dalam pipeline, bukan mengelola detail ini.
Untuk informasi selengkapnya tentang API I/O terkelola, lihat Managed
dalam
dokumentasi Apache Beam Java SDK.
Apache Iceberg
I/O Terkelola mendukung kemampuan berikut untuk Apache Iceberg:
Katalog | Pembacaan batch | Operasi tulis batch | Penulisan streaming | Pembuatan tabel dinamis | Tujuan dinamis |
---|---|---|---|---|---|
Hadoop | Didukung | Didukung | Didukung | Didukung | Didukung |
Hive | Didukung | Didukung | Didukung | Didukung | Didukung |
Katalog berbasis REST | Didukung | Didukung | Didukung | Didukung | Didukung |
Untuk tabel BigQuery untuk Apache Iceberg,
gunakan
konektor BigQueryIO
dengan BigQuery Storage API. Tabel harus sudah ada; pembuatan tabel dinamis tidak didukung.
Nama | Jenis data | Deskripsi |
---|---|---|
table |
string | ID tabel Apache Iceberg. Contoh:
"db.table1" . |
catalog_name |
string | Nama katalog. Contoh: "local" . |
catalog_properties |
map | Peta properti konfigurasi untuk katalog Apache Iceberg. Properti yang diperlukan bergantung pada katalog. Untuk informasi
selengkapnya, lihat
CatalogUtil dalam dokumentasi Apache Iceberg. |
config_properties |
map | Kumpulan properti konfigurasi Hadoop opsional. Untuk informasi
selengkapnya, lihat
CatalogUtil dalam dokumentasi Apache Iceberg. |
triggering_frequency_seconds |
bilangan bulat | Untuk pipeline operasi tulis streaming, frekuensi saat sink mencoba membuat snapshot, dalam detik. |
drop |
daftar string | Daftar nama kolom yang akan dihapus saat menulis tabel. |
keep |
daftar string | Daftar nama kolom yang akan disimpan saat menulis tabel. |
only |
string | Nama satu kolom yang akan disimpan saat menulis tabel. Semua kolom lainnya akan dihapus. Nilai kolom harus berupa jenis baris. |
Untuk informasi selengkapnya, termasuk contoh kode, lihat topik berikut:
Apache Kafka
Untuk Apache Kafka, I/O Terkelola menggunakan parameter konfigurasi berikut.
Konfigurasi baca dan tulis | Jenis data | Deskripsi |
---|---|---|
bootstrap_servers |
string | Wajib. Daftar server bootstrap Kafka yang dipisahkan koma.
Contoh: localhost:9092 . |
topic |
string | Wajib. Topik Kafka yang akan dibaca. |
file_descriptor_path |
string | Jalur ke kumpulan deskripsi file buffering protokol. Hanya berlaku jika
data_format adalah "PROTO" . |
data_format |
string | Format pesan. Nilai yang didukung: "AVRO" ,
"JSON" , "PROTO" , "RAW" . Nilai defaultnya adalah "RAW" , yang membaca atau menulis byte mentah payload pesan. |
message_name |
string | Nama pesan buffering protokol. Wajib jika
data_format adalah "PROTO" . |
schema |
string | Skema pesan Kafka. Jenis skema yang diharapkan bergantung pada format data:
Untuk pipeline baca, parameter ini akan diabaikan jika
|
Membaca konfigurasi | ||
auto_offset_reset_config |
string | Menentukan perilaku saat tidak ada offset awal atau offset saat ini tidak ada lagi di server Kafka. Nilai berikut didukung:
Nilai defaultnya adalah |
confluent_schema_registry_subject |
string | Subjek registry skema Confluent. Wajib jika
confluent_schema_registry_url ditentukan. |
confluent_schema_registry_url |
string | URL registry skema Confluent. Jika ditentukan, parameter schema akan diabaikan. |
consumer_config_updates |
map | Menetapkan parameter konfigurasi untuk konsumen Kafka. Untuk informasi selengkapnya, lihat Config konsumen dalam dokumentasi Kafka. Anda dapat menggunakan parameter ini untuk menyesuaikan konsumen Kafka. |
max_read_time_seconds |
int | Waktu baca maksimum, dalam detik. Opsi ini menghasilkan PCollection
terbatas dan terutama ditujukan untuk pengujian atau
skenario non-produksi lainnya. |
Konfigurasi tulis | ||
producer_config_updates |
map | Menetapkan parameter konfigurasi untuk produsen Kafka. Untuk informasi selengkapnya, lihat Config produsen dalam dokumentasi Kafka. Anda dapat menggunakan parameter ini untuk menyesuaikan produsen Kafka. |
Untuk membaca pesan Avro atau JSON, Anda harus menentukan skema pesan. Untuk menetapkan skema secara langsung, gunakan parameter schema
. Untuk menyediakan skema melalui
registry skema Confluent, tetapkan parameter confluent_schema_registry_url
dan
confluent_schema_registry_subject
.
Untuk membaca atau menulis pesan Buffer Protokol, tentukan skema pesan atau
tetapkan parameter file_descriptor_path
.