Mengubah Pengambilan Data dari MySQL ke BigQuery menggunakan template Debezium dan Pub/Sub (Stream)

Change Data Capture dari MySQL ke BigQuery menggunakan template Debezium dan Pub/Sub adalah pipeline streaming yang membaca pesan Pub/Sub dengan data perubahan dari database MySQL dan menulis data ke BigQuery. Konektor Debezium menangkap perubahan pada database MySQL dan memublikasikan data yang diubah ke Pub/Sub. Template tersebut kemudian membaca pesan Pub/Sub dan menulisnya ke BigQuery.

Anda dapat menggunakan template ini untuk menyinkronkan database MySQL dan tabel BigQuery. Pipeline ini menulis data yang diubah ke tabel staging BigQuery dan sesekali memperbarui tabel BigQuery yang mereplikasi database MySQL.

Persyaratan pipeline

Parameter template

Parameter Deskripsi
inputSubscriptions Daftar yang dipisahkan koma dari langganan input Pub/Sub yang akan dibaca, dalam format <subscription>,<subscription>, ...
changeLogDataset Set data BigQuery untuk menyimpan tabel staging, dalam format <my-dataset>
replicaDataset Lokasi set data BigQuery untuk menyimpan tabel replika, dalam format <my-dataset>
updateFrequencySecs (Opsional) Interval saat pipeline memperbarui tabel BigQuery yang mereplikasi database MySQL.

Menjalankan template

Untuk menjalankan template ini, lakukan langkah-langkah berikut:

  1. Di komputer lokal Anda, clone repositori DataflowTemplates.
  2. Ubah ke direktori v2/cdc-parent.
  3. Pastikan konektor Debezium di-deploy.
  4. Dengan menggunakan Maven, jalankan template Dataflow:
    mvn exec:java -pl cdc-change-applier -Dexec.args="--runner=DataflowRunner \
        --inputSubscriptions=SUBSCRIPTIONS \
        --updateFrequencySecs=300 \
        --changeLogDataset=CHANGELOG_DATASET \
        --replicaDataset=REPLICA_DATASET \
        --project=PROJECT_ID \
        --region=REGION_NAME"
      

    Ganti kode berikut:

    • PROJECT_ID: ID project Google Cloud tempat Anda ingin menjalankan tugas Dataflow
    • SUBSCRIPTIONS: daftar nama langganan Pub/Sub yang dipisahkan koma
    • CHANGELOG_DATASET: set data BigQuery untuk data log perubahan
    • REPLICA_DATASET: set data BigQuery untuk tabel replika

Langkah selanjutnya