Membuat dan memperbarui penghitung di Bigtable

Pelajari cara membuat dan memperbarui penghitung di Bigtable menggunakan aggregates, sel tabel yang menggabungkan nilai pada waktu penulisan. Panduan memulai ini menggunakan Google Cloud CLI dan cbt CLI untuk membuat tiga penghitung:

  • Penghitung yang menyimpan total berjalan
  • Penghitung yang melacak nilai minimum dari semua nilai yang ditambahkan
  • Penghitung yang melacak nilai maksimum dari semua nilai yang ditambahkan

Sebelum memulai

  1. Sign in to your Google Account.

    If you don't already have one, sign up for a new account.

  2. Install the Google Cloud CLI.

  3. Jika Anda menggunakan penyedia identitas (IdP) eksternal, Anda harus login ke gcloud CLI dengan identitas gabungan Anda terlebih dahulu.

  4. Untuk melakukan inisialisasi gcloud CLI, jalankan perintah berikut:

    gcloud init
  5. Setelah melakukan inisialisasi gcloud CLI, update dan instal komponen yang diperlukan:

    gcloud components update
    gcloud components install cbt
  6. Create or select a Google Cloud project.

    • Create a Google Cloud project:

      gcloud projects create PROJECT_ID

      Replace PROJECT_ID with a name for the Google Cloud project you are creating.

    • Select the Google Cloud project that you created:

      gcloud config set project PROJECT_ID

      Replace PROJECT_ID with your Google Cloud project name.

  7. Verify that billing is enabled for your Google Cloud project.

  8. Enable the Cloud Bigtable API and Cloud Bigtable Admin API APIs:

    gcloud services enable bigtable.googleapis.com bigtableadmin.googleapis.com
  9. Install the Google Cloud CLI.

  10. Jika Anda menggunakan penyedia identitas (IdP) eksternal, Anda harus login ke gcloud CLI dengan identitas gabungan Anda terlebih dahulu.

  11. Untuk melakukan inisialisasi gcloud CLI, jalankan perintah berikut:

    gcloud init
  12. Setelah melakukan inisialisasi gcloud CLI, update dan instal komponen yang diperlukan:

    gcloud components update
    gcloud components install cbt
  13. Create or select a Google Cloud project.

    • Create a Google Cloud project:

      gcloud projects create PROJECT_ID

      Replace PROJECT_ID with a name for the Google Cloud project you are creating.

    • Select the Google Cloud project that you created:

      gcloud config set project PROJECT_ID

      Replace PROJECT_ID with your Google Cloud project name.

  14. Verify that billing is enabled for your Google Cloud project.

  15. Enable the Cloud Bigtable API and Cloud Bigtable Admin API APIs:

    gcloud services enable bigtable.googleapis.com bigtableadmin.googleapis.com
  16. Jalankan perintah berikut untuk memastikan gcloud CLI sudah diupdate dan menyertakan CLI cbt:
    gcloud components update
    gcloud components install cbt
  17. Membuat instance Bigtable

    1. Gunakan perintah bigtable instances create untuk membuat instance.

      gcloud bigtable instances create counters-quickstart-instance \
          --display-name="Counters quickstart instance" \
          --cluster-config=id="counters-quickstart-cluster",zone="us-east1-c"
      

    Menghubungkan ke instance

    1. Konfigurasi CLI cbt untuk menggunakan project dan instance Anda dengan membuat file .cbtrc.

      echo project = PROJECT_ID >> ~/.cbtrc && echo instance = counters-quickstart-instance >> ~/.cbtrc
      

      Ganti PROJECT_ID dengan ID project yang Anda gunakan.

    2. Pastikan Anda menyiapkan file .cbtrc dengan benar.

      cat ~/.cbtrc
      

      Terminal akan menampilkan isi file .cbtrc, yang terlihat mirip dengan berikut:

      project = PROJECT_ID
      instance = counters-quickstart-instance

      Sekarang Anda dapat menggunakan cbt CLI dengan instance Anda.

    Membuat tabel dengan keluarga kolom gabungan

    1. Gunakan perintah cbt createtable untuk membuat tabel bernama counters_quickstart_table yang memiliki tiga keluarga kolom gabungan. Konfigurasi setiap grup kolom dengan jenis agregasi yang berbeda:

      • Grup kolom max_family adalah jenis Max dengan jenis input Integer.
      • Grup kolom min_family adalah jenis Min dengan jenis input Integer.
      • Grup kolom sum_family adalah jenis Sum dengan jenis input Integer.
      cbt createtable counters_quickstart_table families=sum_family:never:intsum,min_family:never:intmin,max_family:never:intmax
      
    2. Buat daftar family kolom Anda dengan menjalankan perintah cbt ls.

      cbt ls counters_quickstart_table
      

      Shell akan menampilkan output yang mirip dengan berikut ini:

      Family Name     GC Policy
      -----------     ---------
      max_family      <never>
      min_family      <never>
      sum_family      <never>
      

    Membuat penghitung dalam tabel

    1. Gunakan perintah cbt addtocell untuk menulis nilai awal 5 ke kolom baru di setiap tiga grup kolom, menggunakan row key row-key1 dan stempel waktu 0. Operasi ini membuat sel gabungan, yang Anda gunakan sebagai penghitung.

      cbt addtocell counters_quickstart_table row-key1 sum_family:sum_column=5@0
      cbt addtocell counters_quickstart_table row-key1 min_family:min_column=5@0
      cbt addtocell counters_quickstart_table row-key1 max_family:max_column=5@0
      

    Membaca data

    1. Untuk melihat nilai penghitung sebagai bilangan bulat, bukan byte, tentukan file yaml yang dapat digunakan oleh CLI cbt untuk memformat output. Jalankan perintah berikut:

      echo "families:" > cbtformat.yaml
      echo "  max_family:" >> cbtformat.yaml
      echo "    default_encoding: BigEndian" >> cbtformat.yaml
      echo "    default_type: INT64" >> cbtformat.yaml
      echo "  min_family:" >> cbtformat.yaml
      echo "    default_encoding: BigEndian" >> cbtformat.yaml
      echo "    default_type: INT64" >> cbtformat.yaml
      echo "  sum_family:" >> cbtformat.yaml
      echo "    default_encoding: BigEndian" >> cbtformat.yaml
      echo "    default_type: INT64" >> cbtformat.yaml
      
    2. Pastikan Anda menyiapkan file cbtformat.yaml dengan benar.

      cat ~/cbtformat.yaml
      

      Terminal akan menampilkan isi file cbtformat.yaml, yang terlihat mirip dengan berikut ini:

      families:
        max_family:
          default_encoding: BigEndian
          default_type: INT64
        min_family:
          default_encoding: BigEndian
          default_type: INT64
        sum_family:
          default_encoding: BigEndian
          default_type: INT64
      
    3. Gunakan perintah cbt read untuk meneruskan file yaml dan membaca data yang Anda tambahkan ke tabel. Tabel sekarang memiliki tiga kolom, masing-masing dengan jenis agregasi yang berbeda.

      cbt read counters_quickstart_table format-file=$HOME/cbtformat.yaml
      

      Shell akan menampilkan output yang mirip dengan berikut ini. Nilai diformat sebagai bilangan bulat, dan stempel waktu dalam format UTC.

      row-key1
        max_family:max_column                    @ 1970/01/01-00:00:00.000000
          5
        min_family:min_column                    @ 1970/01/01-00:00:00.000000
          5
        sum_family:sum_column                    @ 1970/01/01-00:00:00.000000
          5
      

    Memperbarui penghitung

    1. Tambahkan nilai 3 ke setiap kolom dalam tabel, menggunakan stempel waktu yang sama yang Anda gunakan saat membuat sel. Di setiap kolom, nilai sel digabungkan dengan nilai yang ada berdasarkan jenis agregasi sel.

      cbt addtocell counters_quickstart_table row-key1 sum_family:sum_column=3@0
      cbt addtocell counters_quickstart_table row-key1 min_family:min_column=3@0
      cbt addtocell counters_quickstart_table row-key1 max_family:max_column=3@0
      
    2. Gunakan perintah cbt read lagi untuk membaca data dalam tabel. Setiap sel kini berisi nilai gabungan.

      cbt read counters_quickstart_table format-file=$HOME/cbtformat.yaml
      

      sum_column berisi jumlah 5 dan 3 (8), min_column berisi nilai minimum dari dua nilai yang ditulis ke dalamnya (3), dan max_column berisi nilai maksimum dari dua nilai yang ditulis ke dalamnya (5).

      row-key1
          max_family:max_column                    @ 1970/01/01-00:00:00.000000
              5
          min_family:min_column                    @ 1970/01/01-00:00:00.000000
              3
          sum_family:sum_column                    @ 1970/01/01-00:00:00.000000
              8
      
    3. Opsional: Kueri tabel di konsol Google Cloud dengan SQL.

      1. Di Google Cloud console, buka halaman Bigtable instances.

        Buka daftar instance

      2. Pilih counters-quickstart-instance dari daftar.

      3. Di menu navigasi, klik Bigtable Studio.

      4. Klik tab Editor.

      5. Tempel kueri ini ke editor:

        SELECT * FROM `counters_quickstart_table`
        
      6. Klik Run. Hasil kueri ditampilkan dalam tabel Results dan terlihat mirip dengan berikut:

      _key max_family min_family sum_family
      row-key1 { "max_column": 5 } { "min_column": 5 } { "sum_column": 8 }

    Pembersihan

    Agar tidak menimbulkan biaya pada akun Google Cloud Anda untuk resource yang digunakan di halaman ini, hapus project Google Cloud yang berisi resource tersebut.

    1. Di terminal, hapus tabel counters_quickstart_table:

      cbt deletetable counters_quickstart_table
      
    2. Hapus instance:

      cbt deleteinstance counters-quickstart-instance
      
    3. Hapus file .cbtrc:

      rm ~/.cbtrc
      
    4. Hapus file pemformatan:

      rm ~/cbtformat.yaml
      
    5. Opsional: Cabut kredensial dari gcloud CLI:

      gcloud auth revoke
      

    Langkah berikutnya