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.
Persyaratan
SDK berikut mendukung I/O terkelola untuk Apache Iceberg:
- Apache Beam SDK untuk Java versi 2.58.0 atau yang lebih baru
- Apache Beam SDK untuk Python versi 2.61.0 atau yang lebih baru
Konfigurasi
I/O Terkelola untuk Apache Iceberg mendukung parameter konfigurasi berikut:
ICEBERG Baca
| Konfigurasi | Jenis | Deskripsi |
|---|---|---|
| table |
str
|
ID tabel Iceberg. |
| catalog_name |
str
|
Nama katalog yang berisi tabel. |
| catalog_properties |
map[str, str]
|
Properti yang digunakan untuk menyiapkan katalog Iceberg. |
| config_properties |
map[str, str]
|
Properti yang diteruskan ke Konfigurasi Hadoop. |
| drop |
list[str]
|
Subkumpulan nama kolom yang akan dikecualikan dari pembacaan. Jika null atau kosong, semua kolom akan dibaca. |
| filter |
str
|
Predikat seperti SQL untuk memfilter data pada waktu pemindaian. Contoh: "id > 5 AND status = 'ACTIVE'". Menggunakan sintaksis Apache Calcite: https://calcite.apache.org/docs/reference.html |
| keep |
list[str]
|
Subset nama kolom yang akan dibaca secara eksklusif. Jika null atau kosong, semua kolom akan dibaca. |
ICEBERG Menulis
| Konfigurasi | Jenis | Deskripsi |
|---|---|---|
| table |
str
|
ID tabel yang sepenuhnya memenuhi syarat. Anda juga dapat memberikan template untuk menulis ke beberapa tujuan dinamis, misalnya: `dataset.my_{col1}_{col2.nested}_table`. |
| catalog_name |
str
|
Nama katalog yang berisi tabel. |
| catalog_properties |
map[str, str]
|
Properti yang digunakan untuk menyiapkan katalog Iceberg. |
| config_properties |
map[str, str]
|
Properti yang diteruskan ke Konfigurasi Hadoop. |
| drop |
list[str]
|
Daftar nama kolom yang akan dihapus dari rekaman input sebelum penulisan. Tidak dapat muncul bersamaan dengan 'keep' dan 'only'. |
| keep |
list[str]
|
Daftar nama kolom yang akan disimpan dalam rekaman input. Semua kolom lainnya akan dihapus sebelum penulisan. Tidak dapat muncul bersamaan dengan 'drop' dan 'only'. |
| saja |
str
|
Nama kolom satu catatan yang harus ditulis. Tidak dapat muncul bersamaan dengan 'keep' dan 'drop'. |
| partition_fields |
list[str]
|
Kolom yang digunakan untuk membuat spesifikasi partisi yang diterapkan saat tabel dibuat. Untuk kolom 'foo', transformasi partisi yang tersedia adalah:
Untuk mengetahui informasi selengkapnya tentang transformasi partisi, buka https://iceberg.apache.org/spec/#partition-transforms. |
| table_properties |
map[str, str]
|
Properti tabel Iceberg yang akan ditetapkan pada tabel saat dibuat. Untuk mengetahui informasi selengkapnya tentang properti tabel, buka https://iceberg.apache.org/docs/latest/configuration/#table-properties. |
| triggering_frequency_seconds |
int32
|
Untuk pipeline streaming, menetapkan frekuensi pembuatan snapshot. |
Langkah berikutnya
Untuk informasi dan contoh kode selengkapnya, lihat topik berikut: