Mengelola pengisian ulang untuk objek streaming

Pengisian ulang di Datastream memungkinkan Anda memuat snapshot data historis dari objek sumber ke tujuan bersama dengan pengambilan data perubahan yang sedang berlangsung. Anda dapat memulai pengisian ulang penuh atau sebagian secara manual jika tidak memilih Backfill data historis saat mengonfigurasi sumber. Memulai pengisian ulang juga memungkinkan Anda menyinkronkan ulang objek tujuan jika data tidak sengaja dihapus.

Saat aliran data berjalan, Anda dapat memantau status objek dan menghentikan pengisian ulang yang aktif kapan saja. Menghentikan operasi akan mencegah skema atau data yang rusak direplikasi dan memungkinkan Anda menjalankan tugas paralel satu per satu untuk mengurangi beban sumber.

Status objek

Berbagai status dalam siklus proses memulai dan menghentikan pengisian ulang untuk objek meliputi:

  • Tidak ada status (ditampilkan di UI sebagai -): Alasan objek menerima status ini mencakup:

    • Streaming belum dimulai.
    • Kotak centang Backfill historical data tidak dicentang (sehingga pengisian ulang didefinisikan sebagai manual).
    • Objek dikecualikan secara eksplisit agar tidak diisi ulang secara otomatis.
    • Aliran data dikonfigurasi untuk menyertakan tabel mendatang. Jika hal ini terjadi, saat tabel baru ditambahkan ke sumber, tidak ada tugas pengisian ulang otomatis yang dibuat untuk tabel tersebut (karena tabel baru biasanya tidak memiliki data historis untuk diisi ulang).
  • Pending: pengisian ulang belum dimulai untuk objek.

  • Active: pengisian ulang sedang berlangsung untuk objek.

  • Completed: pengisian ulang selesai untuk objek.

  • Stopped: pengisian ulang dihentikan untuk objek. Jika pengisian ulang dimulai lagi untuk objek, Datastream akan mengalirkan semua data yang ada yang terkait dengan objek dari sumber ke tujuan.

  • Failed: pengisian ulang gagal untuk objek dan pengisian ulang harus dimulai lagi.

Memulai pengisian ulang

  1. Buka halaman Streams di Konsol Google Cloud .

    Buka halaman Streams

  2. Klik aliran data yang berisi objek yang ingin Anda mulai pengisian ulangnya.

  3. Klik tab Objects.

  4. Centang kotak untuk setiap objek yang ingin Anda isi ulang.

  5. Klik Mulai pengisian ulang.

  6. Jika Anda hanya memilih satu objek, klik INITIATE OBJECT BACKFILL dalam dialog. Atau, jika Anda memilih beberapa objek, klik INITIATE OBJECT BACKFILLS.

    Datastream akan memulai pengisian ulang untuk objek yang Anda pilih, dan status setiap objek akan berubah dari Pending menjadi Active, lalu menjadi Completed. Jika objek memiliki status Completed, artinya Datastream telah membaca semua data untuk objek tersebut, tetapi data mungkin masih dimuat ke tujuan.

Memulai pengisian ulang sebagian

Selain pengisian ulang penuh, Anda dapat melakukan pengisian ulang parsial untuk memuat subset data tertentu dari sumber ke tujuan. Untuk melakukannya, Anda memberikan klausa WHERE SQL sebagai filter kustom.

Datastream mendukung pengisian ulang parsial untuk sumber berikut:

  • SQL Server
  • Spanner
  • Oracle
  • PostgreSQL
  • MySQL

Untuk memulai pengisian ulang sebagian:

  1. Buka halaman Streams di Konsol Google Cloud .

    Buka halaman Streams

  2. Klik aliran data yang berisi objek yang ingin Anda mulai pengisian ulangnya.

  3. Klik tab Objects.

  4. Pilih objek yang ingin Anda mulai pengisian ulangnya.

  5. Klik Mulai pengisian ulang.

  6. Di panel yang muncul, centang kotak Aktifkan filter kustom.

  7. Masukkan klausa WHERE SQL Anda. Contoh, product_id > 12 AND timestamp = '2025-01-06T22:00:00.00'.

  8. Klik Mulai pengisian ulang.

Datastream akan memvalidasi filter. Jika validasi gagal, pesan error akan muncul di atas editor. Jika validasi berhasil, Datastream akan memulai tugas pengisian ulang.

Sintaksis filter kustom yang didukung

Saat Anda memberikan filter kustom, Datastream mendukung subset dasar sintaksis klausa WHERE SQL. Elemen yang didukung meliputi:

  • Operator logika: AND, OR
  • Operator perbandingan: =, <, >, <=, >=, !=
  • Kondisi: IN, NOT IN, IS NULL, IS NOT NULL
  • Pengelompokan: tanda kurung () untuk menentukan grup kondisi
  • Nilai:

    • String: teks yang diapit tanda kutip tunggal, misalnya, 'value',
    • Angka: bilangan bulat (123), desimal (123.45), angka negatif (-10), dan angka dengan eksponen (1.2e3).
    • Nilai boolean: kata kunci peka huruf besar/kecil TRUE atau FALSE.
  • ID:

    • Kualifikasi: nama kolom dapat sepenuhnya memenuhi syarat menggunakan titik untuk menentukan skema atau tabel, misalnya, myColumn, myTable.myColumn, atau mySchema.myTable.myColumn.
    • ID tanpa tanda petik: dapat berisi huruf, angka, dan garis bawah, serta harus diawali dengan huruf atau garis bawah. Kepekaan huruf besar/kecil untuk nama kolom atau tabel bergantung pada database target.
    • ID yang dikutip ganda: harus diapit dalam tanda kutip ganda (").

Batasan pengisian ulang sebagian

Pernyataan, operator, dan kata kunci tertentu dilarang secara eksplisit dan penggunaannya akan menyebabkan error. Fitur tersebut meliputi:

  • Komentar, seperti -- atau /* */.
  • Fungsi, misalnya, UPPER(column) dan NOW().
  • Ekspresi aritmetika, misalnya, column + 1 > 10.
  • Operator LIKE. Karakter pengganti seperti % atau _ tidak didukung dengan LIKE.
  • Operator BETWEEN. Sebagai gantinya, gunakan >= dan <=.
  • Subkueri, misalnya, (SELECT ...) dalam klausa WHERE.
  • Pernyataan CASE, misalnya, CASE WHEN ... END.
  • Perbandingan kolom, seperti column1 = column2. Perbandingan harus dilakukan terhadap literal.
  • Jenis atau fungsi spesifik DATE dan TIME.
  • Operator khusus array atau JSON.
  • Transmisi eksplisit: misalnya, CAST(column AS INT).

Hentikan pengisian ulang

  1. Buka halaman Streams di Konsol Google Cloud .

    Buka halaman Streams

  2. Klik aliran data yang berisi objek yang ingin Anda hentikan pengisian ulangnya.

  3. Klik tab Objects.

  4. Centang kotak untuk setiap objek yang ingin Anda hentikan pengisian ulang datanya.

  5. Klik Hentikan pengisian ulang.

  6. Jika Anda hanya memilih satu objek, klik Stop object backfill di dialog. Atau, jika Anda memilih beberapa objek, klik Hentikan pengisian ulang objek.

    Datastream akan menghentikan pengisian ulang untuk objek yang Anda pilih, dan status setiap objek akan berubah menjadi Stopped.

    Jika objek memiliki status ini, pengisian ulang akan dihentikan untuk objek tersebut. Jika pengisian ulang dimulai lagi untuk objek, Datastream akan melakukan streaming semua data yang ada yang terkait dengan objek dari sumber ke tujuan.

Langkah berikutnya