Menggunakan Datastream untuk menyerap data ke dalam tabel berpartisi di BigQuery

Anda mungkin perlu memartisi 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 mengetahui informasi umum tentang partisi di BigQuery, lihat Pengantar tabel berpartisi.

Memartisi tabel di BigQuery

Untuk membuat partisi tabel di BigQuery, gunakan salah satu opsi yang dijelaskan di bagian berikutnya, bergantung pada kasus penggunaan Anda.

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

  1. Mengecualikan tabel dari konfigurasi sumber streaming Anda. Untuk 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. Buat tabel berpartisi di BigQuery. Jika Anda ingin menyimpan data yang sudah ada di tabel BigQuery asli, beri tabel tersebut nama sementara yang berbeda.
  4. Salin data dari tabel asli ke tabel berpartisi baru.
  5. Lepaskan 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.
    • Membuat tabel BigQuery yang kompatibel dengan Datastream secara manual. Misalnya, jika Anda ingin membuat tabel dan memartisi 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 membuat tabel berpartisi, pastikan nilai max_staleness-nya ditetapkan sesuai dengan kebutuhan Anda. Jika Anda tidak menetapkan nilai, nilai default 0 akan ditetapkan. Membiarkan nilai ini di 0 akan memastikan data terbaru, tetapi akan menimbulkan biaya yang signifikan. Untuk mengetahui informasi tentang cara menemukan nilai optimal untuk tabel Anda, lihat Menggunakan tabel BigQuery dengan opsi max_staleness.

  3. Tambahkan tabel sumber ke konfigurasi aliran Anda.

  4. Jika Anda telah menyetel pengisian ulang manual untuk aliran, mulai pengisian ulang untuk tabel.