Membuat dan memperbarui penghitung di Bigtable

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

  • Penghitung yang menyimpan jumlah yang 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

    • Memilih 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.
    • Buat Google Cloud project:

      gcloud projects create PROJECT_ID

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

    • Pilih Google Cloud project yang Anda buat:

      gcloud config set project PROJECT_ID

      Ganti PROJECT_ID dengan nama Google Cloud project Anda.

  7. Pastikan penagihan diaktifkan untuk Google Cloud project Anda.

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

    Peran yang diperlukan untuk mengaktifkan API

    Untuk mengaktifkan API, Anda memerlukan peran IAM Admin Penggunaan Layanan (roles/serviceusage.serviceUsageAdmin), yang berisi izin serviceusage.services.enable. 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

    • Memilih 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.
    • Buat Google Cloud project:

      gcloud projects create PROJECT_ID

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

    • Pilih Google Cloud project yang Anda buat:

      gcloud config set project PROJECT_ID

      Ganti PROJECT_ID dengan nama Google Cloud project Anda.

  14. Pastikan penagihan diaktifkan untuk Google Cloud project Anda.

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

    Peran yang diperlukan untuk mengaktifkan API

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

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

Membuat instance Bigtable

  1. Gunakan bigtable instances create perintah 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 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 akan menampilkan konten file .cbtrc, yang terlihat mirip dengan berikut ini:

    project = PROJECT_ID
    instance = counters-quickstart-instance

    Sekarang Anda dapat menggunakan cbt CLI dengan instance Anda.

Membuat tabel dengan grup kolom agregat

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

    • Grup kolom max_family berjenis Max dengan jenis input Integer.
    • Grup kolom min_family berjenis Min dengan jenis input Integer.
    • Grup kolom sum_family berjenis Sum dengan jenis input Integer.
    cbt createtable counters_quickstart_table families=sum_family:never:intsum,min_family:never:intmin,max_family:never:intmax
    
  2. Cantumkan grup 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 cbt addtocell perintah 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 agregat, 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 yaml file yang dapat digunakan 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 akan menampilkan konten 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 sekarang berisi nilai agregat.

    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 Google Cloud konsol dengan SQL.

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

      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 ini:

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

Pembersihan

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

  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