Menggunakan Datastream untuk menyerap data ke dalam tabel berpartisi di BigQuery

Anda mungkin perlu mempartisi tabel BigQuery menjadi segmen yang lebih kecil untuk meningkatkan performa kueri dan mengontrol biaya. Karena Datastream tidak mendukung tabel partisi di BigQuery, Anda harus menambahkan partisi secara manual sebelum memulai streaming. Untuk informasi umum tentang partisi di BigQuery, lihat Pengantar tabel berpartisi.

Membuat partisi tabel di BigQuery

Untuk mempartisi tabel di BigQuery, gunakan salah satu opsi yang dijelaskan di bagian berikut, bergantung pada kasus penggunaan Anda.

Opsi 1: Tabel sudah ada di BigQuery dan disertakan dalam streaming

  1. Kecualikan tabel dari konfigurasi sumber aliran data Anda. Untuk informasi selengkapnya tentang cara menyertakan dan mengecualikan objek dari konfigurasi sumber, lihat Mengonfigurasi database sumber.
  2. Tunggu beberapa menit untuk memastikan bahwa Datastream telah selesai memproses semua peristiwa untuk tabel.
  3. Buat tabel berpartisi di BigQuery. Jika Anda ingin mempertahankan data yang sudah ada di tabel BigQuery asli, beri tabel nama sementara yang berbeda.
  4. Salin data dari tabel asli ke tabel berpartisi baru.
  5. Hapus atau ganti nama tabel asli.
  6. Ubah nama sementara tabel baru menjadi nama tabel asli.
  7. Tambahkan tabel sumber ke konfigurasi aliran data Anda.

Opsi 2: Tabel tidak ada di BigQuery

  1. Buat tabel di BigQuery menggunakan salah satu pendekatan berikut:

    • Gunakan BigQuery Migration Toolkit.
    • Buat tabel BigQuery yang kompatibel dengan Datastream secara manual. Misalnya, jika ingin membuat tabel dan mempartisi data berdasarkan kolom TIMESTAMP, Anda dapat menggunakan kueri yang mirip dengan berikut:

      CREATE TABLE dataset.partitioned_table (
      'id' INT64,
      'name' STRING
      'update_date' DATETIME,
      'datastream_metadata' STRUCT<'uuid' STRING, 'source_timestamp' INT64>,
      PRIMARY KEY ('id') NOT ENFORCED
      )
      PARTITION BY TIMESTAMP(update_date)
      
  2. Setelah Anda membuat tabel berpartisi, pastikan nilai max_staleness-nya ditetapkan sesuai dengan persyaratan Anda. Jika Anda tidak menetapkan nilai, nilai default 0 akan ditetapkan. Untuk mengetahui informasi selengkapnya, lihat Menggunakan tabel BigQuery dengan opsi max_staleness.

  3. Tambahkan tabel sumber ke konfigurasi aliran data Anda.

  4. Atau, jika Anda telah menetapkan pengisian ulang manual untuk aliran data, mulai pengisian ulang untuk tabel.