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 konsolGoogle Cloud , Google Cloud CLI, atau cbt CLI untuk membuat penghitung berikut:

  • 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. Login ke Akun Google Anda.

    Jika Anda belum memilikinya, Daftar untuk membuat akun baru.

  2. Instal 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 menginisialisasi gcloud CLI, update gcloud CLI dan instal komponen yang diperlukan:

    gcloud components update
    gcloud components install cbt
  6. Buat atau pilih Google Cloud project.

    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 Project Creator (roles/resourcemanager.projectCreator), yang berisi izin resourcemanager.projects.create. Pelajari cara memberikan peran.
    • Buat Google Cloud project:

      gcloud projects create PROJECT_ID

      Ganti PROJECT_ID dengan nama untuk Google Cloud project yang Anda buat.

    • Pilih project Google Cloud yang Anda buat:

      gcloud config set project PROJECT_ID

      Ganti PROJECT_ID dengan nama project Google Cloud Anda.

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

  8. Aktifkan Cloud Bigtable API dan Cloud Bigtable Admin API:

    Peran yang diperlukan untuk mengaktifkan API

    Untuk mengaktifkan API, Anda memerlukan izin serviceusage.services.enable. Jika Anda membuat project, kemungkinan Anda sudah memiliki izin ini melalui peran Pemilik (roles/owner). Jika tidak, Anda bisa mendapatkan izin ini melalui peran Admin Penggunaan Layanan (roles/serviceusage.serviceUsageAdmin). Pelajari cara memberikan peran.

    gcloud services enable bigtable.googleapis.com bigtableadmin.googleapis.com
  9. Instal 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 menginisialisasi gcloud CLI, update gcloud CLI dan instal komponen yang diperlukan:

    gcloud components update
    gcloud components install cbt
  13. Buat atau pilih Google Cloud project.

    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 Project Creator (roles/resourcemanager.projectCreator), yang berisi izin resourcemanager.projects.create. Pelajari cara memberikan peran.
    • Buat Google Cloud project:

      gcloud projects create PROJECT_ID

      Ganti PROJECT_ID dengan nama untuk Google Cloud project yang Anda buat.

    • Pilih project Google Cloud yang Anda buat:

      gcloud config set project PROJECT_ID

      Ganti PROJECT_ID dengan nama project Google Cloud Anda.

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

  15. Aktifkan Cloud Bigtable API dan Cloud Bigtable Admin API:

    Peran yang diperlukan untuk mengaktifkan API

    Untuk mengaktifkan API, Anda memerlukan izin serviceusage.services.enable. Jika Anda membuat project, kemungkinan Anda sudah memiliki izin ini melalui peran Pemilik (roles/owner). Jika tidak, Anda bisa mendapatkan izin ini melalui peran Admin Penggunaan Layanan (roles/serviceusage.serviceUsageAdmin). Pelajari cara memberikan peran.

    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

Membuat instance Bigtable

Konsol

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

    Buka Buat instance

  2. Di kolom Instance name, masukkan Counters quickstart instance.

  3. Di kolom Instance ID, masukkan counters-quickstart-instance.

  4. Klik Lanjutkan.

  5. Di bagian Pilih edisi Anda, pilih Enterprise.

  6. Klik Lanjutkan.

  7. Di bagian Storage type, pilih SSD.

  8. Klik Lanjutkan.

  9. Di kolom Cluster ID, masukkan counters-quickstart-cluster.

  10. Di daftar Region, pilih us-east1 (South Carolina).

  11. Dalam daftar Zone, pilih us-east1-c.

  12. Di bagian penskalaan node, pilih Penskalaan otomatis, lalu lakukan tindakan berikut:

    1. Untuk jumlah minimum node, masukkan 1.
    2. Untuk jumlah maksimum node, masukkan 3.
  13. Klik Buat untuk membuat instance.

gcloud

  1. Gunakan perintah bigtable instances create untuk membuat instance.

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

Terhubung 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 grup kolom gabungan

Konsol

  1. Di panel navigasi kiri konsol Google Cloud , klik Tables.

  2. Klik Buat tabel.

  3. Di kolom ID Tabel, masukkan counters_quickstart_table.

  4. Di bagian grup kolom, untuk setiap grup kolom yang ingin Anda tambahkan, klik Add a column family, lalu masukkan setelan berikut:

    • sum_family:

      1. Di kolom Nama grup kolom, masukkan sum_family.
      2. Di bagian Jenis grup kolom, pilih Gabungkan.
      3. Di daftar Agregator, pilih Jumlah.
      4. Di bagian Setel kebijakan pengumpulan sampah, pilih Jangan pernah mengumpulkan sampah.
      5. Klik Done.
    • min_family:

      1. Di kolom Nama grup kolom, masukkan min_family.
      2. Di bagian Jenis grup kolom, pilih Gabungkan.
      3. Di daftar Agregator, pilih Min.
      4. Di bagian Setel kebijakan pengumpulan sampah, pilih Jangan pernah mengumpulkan sampah.
      5. Klik Done.
    • max_family:

      1. Di kolom Nama grup kolom, masukkan max_family.
      2. Di bagian Jenis grup kolom, pilih Gabungkan.
      3. Di daftar Agregator, pilih Maks.
      4. Di bagian Setel kebijakan pengumpulan sampah, pilih Jangan pernah mengumpulkan sampah.
      5. Klik Done.
  5. Klik Create.

  6. Untuk melihat grup kolom baru dan konfigurasi gabungannya:

    1. Di menu navigasi, klik Bigtable Studio.
    2. Di struktur Object Explorer di sebelah kiri, luaskan Tables, lalu luaskan counters_quickstart_table, lalu luaskan Column Families.

cbt

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

    • Grup kolom max_family berjenis Max dengan jenis input Int64.
    • Grup kolom min_family berjenis Min dengan jenis input Int64.
    • Grup kolom sum_family berjenis Sum dengan jenis input Int64.
    cbt createtable counters_quickstart_table families=sum_family:never:intsum,min_family:never:intmin,max_family:never:intmax
    
  2. Tampilkan daftar grup kolom dengan menjalankan perintah cbt ls.

    cbt ls counters_quickstart_table
    

    Shell akan menampilkan output seperti berikut:

    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

Anda dapat membaca data dari tabel dengan membuat kueri menggunakan SQL di konsol Google Cloud atau menggunakan cbt CLI .

Mengkueri tabel di Google Cloud konsol dengan SQL

  1. Di konsol Google Cloud , 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 dalam editor:

    SELECT * FROM `counters_quickstart_table`
    
  6. Klik Run. Hasil kueri akan muncul di tabel Results dan terlihat mirip dengan berikut ini:

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

Baca dengan cbt CLI

  1. Untuk melihat nilai penghitung sebagai bilangan bulat, bukan byte, tentukan file YAML yang dapat digunakan 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:

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

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

    Shell akan menampilkan output seperti berikut. 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
    

Pembersihan

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

Konsol

  1. Hapus tabel counters_quickstart_table:

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

      Buka daftar instance

    2. Dalam daftar instance, klik Counters quickstart instance.

    3. Di panel navigasi kiri, klik Tabel.

    4. Klik di samping counters_quickstart_table, lalu klik Hapus.

    5. Masukkan counters_quickstart_table untuk mengonfirmasi, lalu klik Hapus.

  2. Hapus instance:

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

      Buka daftar instance

    2. Klik Counters quickstart instance.

    3. Klik Delete instance.

    4. Masukkan counters-quickstart-instance untuk mengonfirmasi, lalu klik Hapus.

  3. Di terminal, hapus file konfigurasi dan kredensial opsional:

    1. Hapus file .cbtrc:

      rm ~/.cbtrc
      
    2. Hapus file pemformatan:

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

      gcloud auth revoke
      

cbt

  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