Untuk membaca peristiwa Change Data Capture (CDC) dari Apache Iceberg menggunakan Katalog REST Lakehouse untuk Apache Iceberg, gunakan konektor I/O terkelola Apache Beam.
I/O Terkelola mendukung kemampuan berikut untuk Apache Iceberg:
| Katalog |
|
|---|---|
| Kemampuan membaca | Membaca 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.
Batasan
- CDC Apache Iceberg hanya didukung menggunakan API Terkelola. Fitur layanan transformasi terkelola belum diaktifkan. Perubahan yang memengaruhi kompatibilitas mundur
- CDC Managed API hanya membaca snapshot yang hanya ditambahkan. CDC lengkap belum tersedia.
Prasyarat
- Siapkan Lakehouse untuk Apache Iceberg. Konfigurasi Google Cloud project Anda dengan izin yang diperlukan dengan mengikuti artikel Menggunakan katalog runtime Lakehouse dengan katalog REST Iceberg. Pastikan Anda memahami batasan Katalog REST Iceberg Lakehouse untuk Apache Iceberg yang dijelaskan di halaman tersebut.
- Buat tabel Iceberg sumber. Contoh yang ditunjukkan di sini mengasumsikan bahwa Anda memiliki tabel Apache Iceberg. Untuk membuatnya, Anda dapat menggunakan pipeline yang ditampilkan di Penulisan Streaming ke Apache Iceberg dengan Katalog REST Lakehouse untuk Apache Iceberg.
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>
<dependency>
<groupId>org.apache.iceberg</groupId>
<artifactId>iceberg-gcp</artifactId>
<version>${iceberg.version}</version>
</dependency>
Contoh
Contoh berikut menunjukkan pipeline streaming yang membaca peristiwa CDC dari tabel Apache Iceberg, menggabungkan klik pengguna, dan menulis hasilnya ke tabel Apache Iceberg lainnya.
Java
Untuk melakukan autentikasi ke Dataflow, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, lihat Menyiapkan autentikasi untuk lingkungan pengembangan lokal.
Langkah berikutnya
- Pelajari lebih lanjut I/O Terkelola.
- Pelajari lebih lanjut Katalog REST Lakehouse untuk Apache Iceberg.