Membuat tabel yang mendukung aliran perubahan dan mencatat perubahan

Pelajari cara menyiapkan tabel Bigtable dengan aliran perubahan yang diaktifkan, menjalankan pipeline aliran perubahan, membuat perubahan pada tabel, lalu melihat perubahan yang dialirkan.

Sebelum memulai

  1. Di konsol Google Cloud , pada halaman pemilih project, pilih atau buat project Google Cloud .

    Peran yang diperlukan untuk memilih atau membuat project

    • Pilih project: Memilih project tidak memerlukan peran IAM tertentu—Anda dapat memilih project mana pun yang telah diberi peran.
    • Membuat project: Untuk membuat project, Anda memerlukan peran Pembuat Project (roles/resourcemanager.projectCreator), yang berisi izin resourcemanager.projects.create. Pelajari cara memberikan peran.

    Buka pemilih project

  2. Verifikasi bahwa penagihan diaktifkan untuk project Google Cloud Anda.

  3. Aktifkan Dataflow, Cloud Bigtable API, dan Cloud Bigtable Admin API.

    Peran yang diperlukan untuk mengaktifkan API

    Untuk mengaktifkan API, Anda memerlukan peran IAM Service Usage Admin (roles/serviceusage.serviceUsageAdmin), yang berisi izin serviceusage.services.enable. Pelajari cara memberikan peran.

    Aktifkan API

  4. Di konsol Google Cloud , aktifkan Cloud Shell.

    Aktifkan Cloud Shell

Membuat tabel dengan aliran perubahan yang diaktifkan

  1. Di konsol Google Cloud , buka halaman Instances Bigtable.

    Buka Instances

  2. Klik ID instance yang Anda gunakan untuk panduan memulai ini.

    Jika Anda tidak memiliki instance yang tersedia, buat instance dengan konfigurasi default di region terdekat.

  3. Di panel navigasi kiri, klik Tabel.

  4. Klik Buat tabel.

  5. Beri nama tabel change-streams-quickstart.

  6. Tambahkan grup kolom bernama cf.

  7. Pilih Aktifkan aliran perubahan.

  8. Klik Create.

Menginisialisasi pipeline data untuk merekam aliran perubahan

  1. Di Cloud Shell, jalankan perintah berikut untuk mendownload kode dan menjalankannya.

    git clone https://github.com/GoogleCloudPlatform/java-docs-samples.git
    cd java-docs-samples/bigtable/beam/change-streams
    mvn compile exec:java -Dexec.mainClass=ChangeStreamsHelloWorld \
    "-Dexec.args=--project=PROJECT_ID --bigtableProjectId=PROJECT_ID \
    --bigtableInstanceId=BIGTABLE_INSTANCE_ID --bigtableTableId=change-streams-quickstart \
    --runner=dataflow --region=BIGTABLE_REGION --experiments=use_runner_v2"
    

    Ganti kode berikut:

    • PROJECT_ID: ID project yang Anda gunakan
    • BIGTABLE_INSTANCE_ID: ID instance yang akan berisi tabel baru
    • BIGTABLE_REGION: region tempat instance Bigtable Anda berada, seperti us-east5
  2. Di konsol Google Cloud , buka halaman Dataflow.

    Buka Dataflow

  3. Klik tugas dengan nama yang diawali dengan changestreamquickstart.

  4. Di bagian bawah layar, klik Tampilkan untuk membuka panel log.

  5. Klik Worker logs untuk memantau output aliran perubahan.

  6. Di Cloud Shell, tulis beberapa data ke Bigtable untuk melihat proses aliran perubahan.

    cbt -instance=BIGTABLE_INSTANCE_ID -project=PROJECT_ID \
    import change-streams-quickstart quickstart-data.csv column-family=cf
    
  7. Di konsol Google Cloud , pastikan Severity disetel ke minimal Info.

  8. Output log pekerja berisi ini:

    Change captured: user123#2023,USER,SetCell,cf,col1,abc
    Change captured: user546#2023,USER,SetCell,cf,col1,def
    Change captured: user789#2023,USER,SetCell,cf,col1,ghi
    

Pembersihan

Agar akun Google Cloud Anda tidak dikenai biaya untuk resource yang digunakan pada halaman ini, ikuti langkah-langkah berikut.

  1. Menonaktifkan aliran perubahan pada tabel

    gcloud bigtable instances tables update change-streams-quickstart --instance=BIGTABLE_INSTANCE_ID \
    --clear-change-stream-retention-period
    
  2. Hapus tabel change-streams-quickstart:

    cbt -instance=BIGTABLE_INSTANCE_ID -project=PROJECT_ID deletetable change-streams-quickstart
    
  3. Hentikan pipeline aliran perubahan:

    1. Di konsol Google Cloud , buka halaman Tugas Dataflow.

      Buka Tugas

    2. Pilih tugas streaming Anda dari daftar tugas.

    3. Di navigasi, klik Berhenti.

    4. Dalam dialog Stop job, batalkan pipeline Anda, lalu klik Stop job.

  4. Opsional: Hapus instance jika Anda membuat instance baru untuk panduan memulai ini:

    cbt deleteinstance BIGTABLE_INSTANCE_ID
    

Langkah berikutnya