Membuat dan memperbarui penghitung di Bigtable

Pelajari cara membuat dan memperbarui penghitung di Bigtable menggunakan agregat, 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 maksimum 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. To initialize the gcloud CLI, run the following command:

    gcloud init
  4. Update and install gcloud components:

    gcloud components update
    gcloud components install cbt
  5. 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.

  6. Make sure that billing is enabled for your Google Cloud project.

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

    gcloud services enable bigtable.googleapis.com bigtableadmin.googleapis.com
  8. Install the Google Cloud CLI.
  9. To initialize the gcloud CLI, run the following command:

    gcloud init
  10. Update and install gcloud components:

    gcloud components update
    gcloud components install cbt
  11. 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.

  12. Make sure that billing is enabled for your Google Cloud project.

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

    gcloud services enable bigtable.googleapis.com bigtableadmin.googleapis.com
  14. Jalankan perintah berikut untuk memastikan gcloud CLI sudah yang terbaru dan menyertakan CLI cbt:
    gcloud components update
    gcloud components install cbt

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. Konfigurasikan cbt CLI 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 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 agregat. Konfigurasikan 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 keluarga kolom dengan menjalankan perintah cbt ls.

    cbt ls counters_quickstart_table
    

    Shell menampilkan output yang mirip dengan berikut ini:

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

Membuat penghitung di tabel

  1. Gunakan perintah cbt addtocell untuk menulis nilai awal 5 ke kolom baru di setiap tiga grup kolom, menggunakan kunci baris 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 cbt CLI 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 menampilkan isi file cbtformat.yaml, yang terlihat mirip dengan yang berikut:

    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 kini memiliki tiga kolom, masing-masing dengan jenis agregasi yang berbeda.

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

    Shell 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 kembali perintah cbt read 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 minimum dari dua nilai yang ditulis ke dalamnya (3), dan max_column berisi 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: Buat kueri tabel di konsol Google Cloud dengan SQL.

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

      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 pada 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 selanjutnya