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
-
Sign in to your Google Account.
If you don't already have one, sign up for a new account.
-
Install the Google Cloud CLI.
-
Jika Anda menggunakan penyedia identitas (IdP) eksternal, Anda harus login ke gcloud CLI dengan identitas gabungan Anda terlebih dahulu.
-
Untuk melakukan inisialisasi gcloud CLI, jalankan perintah berikut:
gcloud init -
Setelah melakukan inisialisasi gcloud CLI, update dan instal komponen yang diperlukan:
gcloud components update gcloud components install cbt
-
Create or select a Google Cloud project.
Roles required to select or create a project
- Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
-
Create a project: To create a project, you need the Project Creator
(
roles/resourcemanager.projectCreator), which contains theresourcemanager.projects.createpermission. Learn how to grant roles.
-
Create a Google Cloud project:
gcloud projects create PROJECT_ID
Replace
PROJECT_IDwith 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_IDwith your Google Cloud project name.
-
Verify that billing is enabled for your Google Cloud project.
-
Enable the Cloud Bigtable API and Cloud Bigtable Admin API APIs:
Roles required to enable APIs
To enable APIs, you need the Service Usage Admin IAM role (
roles/serviceusage.serviceUsageAdmin), which contains theserviceusage.services.enablepermission. Learn how to grant roles.gcloud services enable bigtable.googleapis.com
bigtableadmin.googleapis.com -
Install the Google Cloud CLI.
-
Jika Anda menggunakan penyedia identitas (IdP) eksternal, Anda harus login ke gcloud CLI dengan identitas gabungan Anda terlebih dahulu.
-
Untuk melakukan inisialisasi gcloud CLI, jalankan perintah berikut:
gcloud init -
Setelah melakukan inisialisasi gcloud CLI, update dan instal komponen yang diperlukan:
gcloud components update gcloud components install cbt
-
Create or select a Google Cloud project.
Roles required to select or create a project
- Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
-
Create a project: To create a project, you need the Project Creator
(
roles/resourcemanager.projectCreator), which contains theresourcemanager.projects.createpermission. Learn how to grant roles.
-
Create a Google Cloud project:
gcloud projects create PROJECT_ID
Replace
PROJECT_IDwith 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_IDwith your Google Cloud project name.
-
Verify that billing is enabled for your Google Cloud project.
-
Enable the Cloud Bigtable API and Cloud Bigtable Admin API APIs:
Roles required to enable APIs
To enable APIs, you need the Service Usage Admin IAM role (
roles/serviceusage.serviceUsageAdmin), which contains theserviceusage.services.enablepermission. Learn how to grant roles.gcloud services enable bigtable.googleapis.com
bigtableadmin.googleapis.com - Jalankan perintah berikut untuk memastikan gcloud CLI sudah diupdate dan menyertakan CLI
cbt:gcloud components updategcloud components install cbt Gunakan perintah
bigtable instances createuntuk membuat instance.gcloud bigtable instances create counters-quickstart-instance \ --display-name="Counters quickstart instance" \ --cluster-config=id="counters-quickstart-cluster",zone="us-east1-c"Konfigurasi CLI
cbtuntuk menggunakan project dan instance Anda dengan membuat file.cbtrc.echo project = PROJECT_ID >> ~/.cbtrc && echo instance = counters-quickstart-instance >> ~/.cbtrcGanti PROJECT_ID dengan ID project yang Anda gunakan.
Pastikan Anda menyiapkan file
.cbtrcdengan benar.cat ~/.cbtrcTerminal akan menampilkan isi file
.cbtrc, yang terlihat mirip dengan berikut:project = PROJECT_ID instance = counters-quickstart-instance
Sekarang Anda dapat menggunakan
cbtCLI dengan instance Anda.Gunakan perintah
cbt createtableuntuk membuat tabel bernamacounters_quickstart_tableyang memiliki tiga keluarga kolom gabungan. Konfigurasi setiap grup kolom dengan jenis agregasi yang berbeda:- Grup kolom
max_familyadalah jenisMaxdengan jenis inputInteger. - Grup kolom
min_familyadalah jenisMindengan jenis inputInteger. - Grup kolom
sum_familyadalah jenisSumdengan jenis inputInteger.
cbt createtable counters_quickstart_table families=sum_family:never:intsum,min_family:never:intmin,max_family:never:intmax- Grup kolom
Buat daftar column family Anda dengan menjalankan perintah
cbt ls.cbt ls counters_quickstart_tableShell akan menampilkan output yang mirip dengan berikut ini:
Family Name GC Policy ----------- --------- max_family <never> min_family <never> sum_family <never>Gunakan perintah
cbt addtocelluntuk menulis nilai awal5ke kolom baru di setiap tiga grup kolom, menggunakan kunci barisrow-key1dan stempel waktu0. 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@0Untuk melihat nilai penghitung sebagai bilangan bulat, bukan byte, tentukan file
yamlyang dapat digunakan olehcbtCLI 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.yamlPastikan Anda menyiapkan file
cbtformat.yamldengan benar.cat ~/cbtformat.yamlTerminal 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: INT64Gunakan perintah
cbt readuntuk meneruskan fileyamldan 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.yamlShell 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 5Tambahkan 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@0Gunakan perintah
cbt readlagi untuk membaca data dalam tabel. Setiap sel kini berisi nilai gabungan.cbt read counters_quickstart_table format-file=$HOME/cbtformat.yamlsum_columnberisi jumlah 5 dan 3 (8),min_columnberisi nilai minimum dari dua nilai yang ditulis ke dalamnya (3), danmax_columnberisi 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 8Opsional: Kueri tabel di konsol Google Cloud dengan SQL.
Di Google Cloud console, buka halaman Bigtable instances.
Pilih
counters-quickstart-instancedari daftar.Di menu navigasi, klik Bigtable Studio.
Klik tab Editor.
Tempel kueri ini ke editor:
SELECT * FROM `counters_quickstart_table`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 } Di terminal, hapus tabel
counters_quickstart_table:cbt deletetable counters_quickstart_tableHapus instance:
cbt deleteinstance counters-quickstart-instanceHapus file
.cbtrc:rm ~/.cbtrcHapus file pemformatan:
rm ~/cbtformat.yamlOpsional: Cabut kredensial dari gcloud CLI:
gcloud auth revoke
Membuat instance Bigtable
Menghubungkan ke instance
Membuat tabel dengan family kolom gabungan
Membuat penghitung dalam tabel
Membaca data
Memperbarui penghitung
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.