Menyinkronkan set data online dan offline dengan BigQuery DataFrames
Dengan menggunakan Bigtable dan BigQuery, Anda dapat membangun database analisis real-time dan menggunakannya dalam pipeline machine learning (ML). Dengan demikian, Anda dapat menjaga data Anda tetap sinkron, mendukung manipulasi data dan pengembangan model (akses offline) serta inferensi aplikasi latensi rendah (akses online).
Untuk membangun database analisis real-time, Anda dapat menggunakan BigQuery DataFrames, sekumpulan library Python open source untuk pemrosesan data BigQuery. Dengan BigQuery DataFrames, Anda dapat mengembangkan dan melatih model di BigQuery serta mereplikasi salinan nilai data terbaru yang digunakan untuk model ML Anda di Bigtable secara otomatis untuk penayangan online.
Dokumen ini memberikan ringkasan tentang penggunaan bigframes.streaming API
untuk membuat tugas BigQuery yang secara otomatis mereplikasi dan menyinkronkan set data di BigQuery dan Bigtable. Sebelum Anda
membaca dokumen ini, pastikan Anda memahami dokumen berikut:
- Ringkasan Bigtable
- Ringkasan BigQuery
- Membangun database analisis real-time dengan Bigtable dan BigQuery
DataFrame BigQuery
DataFrame BigQuery membantu Anda mengembangkan dan melatih model di BigQuery serta mereplikasi salinan nilai data terbaru yang digunakan untuk model ML Anda di Bigtable secara otomatis untuk penayangan online. Dengan alat ini, Anda dapat melakukan hal berikut:
- Mengembangkan transformasi data di antarmuka yang kompatibel dengan Pandas
(
bigframes.pandas
) langsung terhadap data BigQuery - Melatih model menggunakan API seperti scikit-learn (
bigframes.ML
) - Sinkronkan data yang diperlukan untuk inferensi latensi rendah dengan Bigtable (
bigframes.streaming
) untuk mendukung aplikasi yang ditampilkan kepada pengguna
BigFrames StreamingDataFrame
bigframes.streaming.StreamingDataFrame
adalah jenis DataFrame dalam paket BigQuery DataFrames. Hal ini memungkinkan Anda membuat objek
StreamingDataFrame
yang dapat digunakan untuk membuat tugas
yang berjalan terus-menerus yang melakukan streaming data dari tabel BigQuery yang ditentukan ke
Bigtable untuk penayangan online. Hal ini dilakukan dengan membuat
kueri berkelanjutan
BigQuery.
BigFrames StreamingDataFrame
dapat melakukan hal berikut:
- Membuat
StreamingDataFrame
dari tabel BigQuery yang ditentukan - Atau, lakukan operasi Pandas tambahan seperti memilih, memfilter, dan melihat pratinjau konten
- Membuat dan mengelola tugas streaming ke Bigtable
Peran yang diperlukan
Untuk mendapatkan izin yang diperlukan untuk menggunakan DataFrame BigQuery di notebook BigQuery, minta administrator Anda untuk memberi Anda peran IAM berikut:
Untuk mendapatkan izin yang Anda perlukan untuk menulis data ke tabel Bigtable, minta administrator Anda untuk memberi Anda peran IAM berikut:
Mulai
BigQuery DataFrames adalah paket open source. Untuk menginstal
versi terbaru, jalankan pip install --upgrade bigframes
.
Untuk membuat BigFrames StreamingDataFrame
pertama dan menyinkronkan data antara BigQuery dan Bigtable, jalankan cuplikan kode berikut.
Untuk contoh kode lengkap, lihat notebook GitHub BigFrames
StreamingDataFrame.
import bigframes.streaming as bst
bigframes.options._bigquery_options.project = "PROJECT"
sdf = bst.read_gbq_table("birds.penguins_bigtable_streaming")
job = sdf.to_bigtable(instance="BIGTABLE_INSTANCE",
table="TABLE",
app_profile=None,
truncate=True,
overwrite=True,`
auto_create_column_families=True,
bigtable_options={},
job_id=None,
job_id_prefix= "test_streaming_",)
print(job.running())
print(job.error_result)
Ganti kode berikut:
- PROJECT: ID Google Cloud project Anda
- BIGTABLE_INSTANCE: ID instance Bigtable yang berisi tabel yang Anda tulis
- TABLE: ID tabel Bigtable yang Anda tulis
Setelah tugas diinisialisasi, tugas akan berjalan sebagai kueri berkelanjutan di BigQuery dan melakukan streaming perubahan data ke Bigtable.
Biaya
Tidak ada biaya tambahan untuk menggunakan BigQuery BigFrames API, tetapi Anda akan dikenai biaya untuk resource pokok yang digunakan untuk kueri berkelanjutan, Bigtable, dan BigQuery.
Kueri berkelanjutan menggunakan harga komputasi kapasitas BigQuery,
yang diukur dalam slot. Untuk
menjalankan kueri berkelanjutan, Anda harus memiliki
pemesanan
yang menggunakan edisi Enterprise atau Enterprise Plus dan
penetapan
pemesanan
yang menggunakan jenis tugas CONTINUOUS
.
Penggunaan resource BigQuery lainnya, seperti penyerapan dan penyimpanan data, ditagih sesuai tarif yang ditampilkan di harga BigQuery.
Penggunaan layanan Bigtable yang menerima hasil kueri berkelanjutan dikenai biaya sesuai tarif harga Bigtable.
Batasan
Semua batasan fitur dan lokasi yang terkait dengan kueri berkelanjutan juga berlaku untuk DataFrame streaming.
Langkah berikutnya
- Mulai menggunakan Feast di Google Cloud
- Menyederhanakan Pengembangan ML dengan Feast
- Buat kueri data Bigtable yang disimpan dalam tabel eksternal.
- Mengekspor data dari BigQuery ke Bigtable.