I/O Terkelola mendukung kemampuan berikut untuk BigQuery:
- Pembuatan tabel dinamis
- Tujuan dinamis
- Untuk pembacaan, konektor menggunakan BigQuery Storage Read API.
Untuk operasi tulis, konektor menggunakan metode BigQuery berikut:
- Jika sumber tidak terbatas dan Dataflow menggunakan pemrosesan streaming persis sekali, konektor melakukan penulisan ke BigQuery, dengan menggunakan BigQuery Storage Write API dengan semantik pengiriman persis sekali.
- Jika sumber tidak terbatas dan Dataflow menggunakan pemrosesan streaming minimal sekali, konektor melakukan penulisan ke BigQuery, dengan menggunakan BigQuery Storage Write API dengan semantik pengiriman minimal sekali.
- Jika sumber dibatasi, konektor akan menggunakan pemuatan file BigQuery.
Persyaratan
SDK berikut mendukung I/O terkelola untuk BigQuery:
- Apache Beam SDK untuk Java versi 2.61.0 atau yang lebih baru
- Apache Beam SDK untuk Python versi 2.61.0 atau yang lebih baru
Konfigurasi
I/O Terkelola untuk BigQuery mendukung parameter konfigurasi berikut:
BIGQUERY Baca
| Konfigurasi | Jenis | Deskripsi |
|---|---|---|
| kms_key |
str
|
Gunakan kunci Cloud KMS ini untuk mengenkripsi data Anda |
| query |
str
|
Kueri SQL yang akan dijalankan untuk membaca dari tabel BigQuery. |
| row_restriction |
str
|
Hanya baca baris yang cocok dengan filter ini, yang harus kompatibel dengan SQL standar Google. Hal ini tidak didukung saat membaca melalui kueri. |
| fields |
list[str]
|
Membaca hanya kolom yang ditentukan dari tabel BigQuery. Kolom mungkin tidak ditampilkan dalam urutan yang ditentukan. Jika tidak ada nilai yang ditentukan, semua kolom akan ditampilkan. Contoh: "col1, col2, col3" |
| tabel |
str
|
Nama tabel BigQuery yang sepenuhnya memenuhi syarat untuk dibaca. Format: [${PROJECT}:]${DATASET}.${TABLE} |
BIGQUERY Menulis
| Konfigurasi | Jenis | Deskripsi |
|---|---|---|
| table |
str
|
Tabel BigQuery yang akan ditulisi. Format: [${PROJECT}:]${DATASET}.${TABLE} |
| 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'. |
| kms_key |
str
|
Gunakan kunci Cloud KMS ini untuk mengenkripsi data Anda |
| saja |
str
|
Nama kolom satu catatan yang harus ditulis. Tidak dapat muncul bersamaan dengan 'keep' dan 'drop'. |
| triggering_frequency_seconds |
int64
|
Menentukan seberapa sering progres 'di-commit' ke BigQuery. Defaultnya adalah setiap 5 detik. |
Langkah berikutnya
Untuk informasi dan contoh kode selengkapnya, lihat topik berikut: