Untuk menulis dari Dataflow ke Apache Iceberg, gunakan konektor I/O terkelola.
I/O Terkelola mendukung kemampuan berikut untuk Apache Iceberg:
Katalog |
|
---|---|
Kemampuan baca | Pembacaan batch |
Kemampuan tulis |
|
Untuk tabel BigQuery untuk Apache Iceberg,
gunakan
konektor BigQueryIO
dengan BigQuery Storage API. Tabel harus sudah ada; pembuatan tabel dinamis tidak didukung.
Dependensi
Tambahkan dependensi berikut ke project Anda:
Java
<dependency>
<groupId>org.apache.beam</groupId>
<artifactId>beam-sdks-java-managed</artifactId>
<version>${beam.version}</version>
</dependency>
<dependency>
<groupId>org.apache.beam</groupId>
<artifactId>beam-sdks-java-io-iceberg</artifactId>
<version>${beam.version}</version>
</dependency>
Konfigurasi
I/O Terkelola menggunakan parameter konfigurasi berikut untuk Apache Iceberg:
Konfigurasi baca dan tulis | 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. |
Konfigurasi tulis | Jenis data | Deskripsi |
triggering_frequency_seconds |
bilangan bulat | Untuk pipeline operasi tulis streaming, frekuensi saat sink mencoba membuat snapshot, dalam detik. |
Tujuan dinamis
I/O Terkelola untuk Apache Iceberg mendukung tujuan dinamis. Daripada menulis ke satu tabel tetap, konektor dapat memilih tabel tujuan secara dinamis berdasarkan nilai kolom dalam data yang masuk.
Untuk menggunakan tujuan dinamis, berikan template untuk parameter konfigurasi table
. Untuk informasi selengkapnya, lihat
Tujuan dinamis.
Contoh
Contoh berikut menulis data JSON dalam memori ke tabel Apache Iceberg.
Java
Untuk melakukan autentikasi ke Dataflow, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, baca Menyiapkan autentikasi untuk lingkungan pengembangan lokal.
Langkah berikutnya
- Membaca dari Apache Iceberg.
- Pelajari I/O Terkelola lebih lanjut.