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
-
Login ke Akun Google Anda.
Jika Anda belum memilikinya, Daftar untuk membuat akun baru.
-
Instal 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 menginisialisasi gcloud CLI, update gcloud CLI dan instal komponen yang diperlukan:
gcloud components update gcloud components install cbt
-
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 izinresourcemanager.projects.create. Pelajari cara memberikan peran.
-
Buat Google Cloud project:
gcloud projects create PROJECT_ID
Ganti
PROJECT_IDdengan nama untuk Google Cloud project yang Anda buat. -
Pilih Google Cloud project yang Anda buat:
gcloud config set project PROJECT_ID
Ganti
PROJECT_IDdengan nama Google Cloud project Anda.
-
Pastikan penagihan diaktifkan untuk Google Cloud project Anda.
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 izinserviceusage.services.enable. Pelajari cara memberikan peran.gcloud services enable bigtable.googleapis.com
bigtableadmin.googleapis.com -
Instal 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 menginisialisasi gcloud CLI, update gcloud CLI dan instal komponen yang diperlukan:
gcloud components update gcloud components install cbt
-
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 izinresourcemanager.projects.create. Pelajari cara memberikan peran.
-
Buat Google Cloud project:
gcloud projects create PROJECT_ID
Ganti
PROJECT_IDdengan nama untuk Google Cloud project yang Anda buat. -
Pilih Google Cloud project yang Anda buat:
gcloud config set project PROJECT_ID
Ganti
PROJECT_IDdengan nama Google Cloud project Anda.
-
Pastikan penagihan diaktifkan untuk Google Cloud project Anda.
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 izinserviceusage.services.enable. Pelajari cara memberikan peran.gcloud services enable bigtable.googleapis.com
bigtableadmin.googleapis.com - Jalankan perintah berikut untuk memastikan gcloud CLI sudah yang terbaru dan menyertakan
cbtCLI :gcloud components updategcloud components install cbt
Membuat instance Bigtable
Gunakan
bigtable instances createperintah 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
Konfigurasi
cbtCLI untuk 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 konten file
.cbtrc, yang terlihat mirip dengan berikut ini:project = PROJECT_ID instance = counters-quickstart-instance
Sekarang Anda dapat menggunakan
cbtCLI dengan instance Anda.
Membuat tabel dengan grup kolom agregat
Gunakan
cbt createtableperintah untuk membuat tabel bernamacounters_quickstart_tableyang memiliki tiga grup kolom agregat. Konfigurasi setiap grup kolom dengan jenis agregasi yang berbeda:- Grup kolom
max_familyberjenisMaxdengan jenis inputInteger. - Grup kolom
min_familyberjenisMindengan jenis inputInteger. - Grup kolom
sum_familyberjenisSumdengan jenis inputInteger.
cbt createtable counters_quickstart_table families=sum_family:never:intsum,min_family:never:intmin,max_family:never:intmax- Grup kolom
Cantumkan grup kolom 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>
Membuat penghitung dalam tabel
Gunakan
cbt addtocellperintah untuk menulis nilai awal5ke kolom baru di setiap tiga grup kolom, menggunakan kunci barisrow-key1dan stempel waktu0. 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
Untuk melihat nilai penghitung sebagai bilangan bulat, bukan byte, tentukan
yamlfile yang dapat digunakancbtCLI 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 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: 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 5
Memperbarui penghitung
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@0Gunakan perintah
cbt readlagi untuk membaca data dalam tabel. Setiap sel sekarang berisi nilai agregat.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 Google Cloud konsol dengan SQL.
Di Google Cloud konsol, buka halaman Instance Bigtable.
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 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
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