Menggunakan Datastream untuk menyerap data ke dalam tabel yang dipartisi 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 aliran data. Untuk informasi umum tentang cara membuat partisi di BigQuery, lihat Pengantar tabel berpartisi.

Tabel partisi di BigQuery

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

Opsi 1: Tabel sudah ada di BigQuery dan disertakan di aliran data

  1. Mengecualikan tabel dari konfigurasi sumber streaming Anda. Untuk mengetahui informasi selengkapnya tentang cara menyertakan dan mengecualikan objek dari konfigurasi sumber, lihat Mengonfigurasi database sumber.
  2. Tunggu beberapa menit untuk memastikan Datastream telah selesai memproses semua peristiwa untuk tabel.
  3. Membuat tabel berpartisi di BigQuery. Jika ingin menyimpan data yang sudah ada di tabel BigQuery asli, berikan nama sementara yang berbeda pada tabel tersebut.
  4. Salin data dari tabel asli ke tabel baru yang dipartisi.
  5. Tempatkan atau ganti nama tabel asli.
  6. Ubah nama sementara tabel baru menjadi nama tabel asli.
  7. Tambahkan tabel sumber ke konfigurasi streaming Anda.

Opsi 2: Tabel tidak ada di BigQuery

  1. Buat tabel tersebut 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 ini:

      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 membuat tabel yang dipartisi, pastikan nilai max_staleness-nya ditetapkan sesuai dengan persyaratan Anda. Jika Anda tidak menetapkan nilai ini, nilai default 0 akan ditetapkan. Untuk mengetahui informasi selengkapnya, lihat Menggunakan tabel BigQuery dengan opsi max_staleness.

  3. Tambahkan tabel sumber ke konfigurasi streaming Anda.

  4. Secara opsional, jika Anda telah menetapkan pengisian ulang manual untuk aliran data, mulai isi ulang untuk tabel.