Untuk menulis dari Dataflow ke Apache Iceberg, gunakan konektor I/O terkelola.
I/O Terkelola mendukung kemampuan berikut untuk Apache Iceberg:
Katalog |
|
---|---|
Kemampuan membaca | Baca batch |
Kemampuan menulis |
|
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>
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 rekaman masuk.
Untuk menggunakan tujuan dinamis, berikan template untuk parameter konfigurasi table
. Untuk mengetahui informasi selengkapnya, lihat
Tujuan dinamis.
Contoh
Contoh berikut menunjukkan cara menggunakan I/O Terkelola untuk menulis ke Apache Iceberg.
Menulis ke tabel Apache Iceberg
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, lihat Menyiapkan autentikasi untuk lingkungan pengembangan lokal.
Menulis dengan tujuan dinamis
Contoh berikut menulis ke tabel Apache Iceberg yang berbeda berdasarkan kolom dalam data input.
Java
Untuk melakukan autentikasi ke Dataflow, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, lihat Menyiapkan autentikasi untuk lingkungan pengembangan lokal.
Langkah berikutnya
- Membaca dari Apache Iceberg.
- Penulisan Streaming ke Apache Iceberg dengan BigLake REST Catalog.
- Pelajari lebih lanjut I/O Terkelola.