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: