Zähler in Bigtable erstellen und aktualisieren
Zähler in Bigtable erstellen und aktualisieren In dieser Kurzanleitung werden mit der Google Cloud CLI und der cbt
-Befehlszeile drei Zähler erstellt:
- Ein Zähler, der eine laufende Summe führt
- Ein Zähler, der den Mindestwert aller hinzugefügten Werte erfasst
- Ein Zähler, der den Höchstwert aller hinzugefügten Werte erfasst.
Hinweise
-
Sign in to your Google Account.
If you don't already have one, sign up for a new account.
-
Install the Google Cloud CLI.
-
If you're using an external identity provider (IdP), you must first sign in to the gcloud CLI with your federated identity.
-
To initialize the gcloud CLI, run the following command:
gcloud init
-
After initializing the gcloud CLI, update it and install the required components:
gcloud components update gcloud components install cbt
-
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.
-
-
Make sure that billing is enabled for your Google Cloud project.
-
Enable the Cloud Bigtable API and Cloud Bigtable Admin API APIs:
gcloud services enable bigtable.googleapis.com
bigtableadmin.googleapis.com -
Install the Google Cloud CLI.
-
If you're using an external identity provider (IdP), you must first sign in to the gcloud CLI with your federated identity.
-
To initialize the gcloud CLI, run the following command:
gcloud init
-
After initializing the gcloud CLI, update it and install the required components:
gcloud components update gcloud components install cbt
-
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.
-
-
Make sure that billing is enabled for your Google Cloud project.
-
Enable the Cloud Bigtable API and Cloud Bigtable Admin API APIs:
gcloud services enable bigtable.googleapis.com
bigtableadmin.googleapis.com - Führen Sie die folgenden Befehle aus, um sicherzustellen, dass die gcloud CLI auf dem neuesten Stand ist und die
cbt
-Befehlszeile enthält:gcloud components update
gcloud components install cbt
Bigtable-Instanz erstellen
Verwenden Sie den Befehl
bigtable instances create
, um eine Instanz zu erstellen.gcloud bigtable instances create counters-quickstart-instance \ --display-name="Counters quickstart instance" \ --cluster-config=id="counters-quickstart-cluster",zone="us-east1-c"
Mit Instanz verbinden
Konfigurieren Sie die
cbt
-Befehlszeile so, dass Ihr Projekt und Ihre Instanz verwendet werden. Erstellen Sie dazu eine.cbtrc
-Datei.echo project = PROJECT_ID >> ~/.cbtrc && echo instance = counters-quickstart-instance >> ~/.cbtrc
Ersetzen Sie PROJECT_ID durch die ID des Projekts, das Sie verwenden.
Prüfen Sie, ob Sie die Datei
.cbtrc
korrekt eingerichtet haben.cat ~/.cbtrc
Das Terminal zeigt den Inhalt der Datei
.cbtrc
, der in etwa so aussieht:project = PROJECT_ID instance = counters-quickstart-instance
Jetzt können Sie die
cbt
-Befehlszeile mit Ihrer Instanz verwenden.
Tabelle mit aggregierten Spaltenfamilien erstellen
Verwenden Sie den Befehl
cbt createtable
, um eine Tabelle mit dem Namencounters_quickstart_table
mit drei aggregierten Spaltenfamilien zu erstellen. Konfigurieren Sie jede Spaltenfamilie mit einem anderen Aggregationstyp:- Die Spaltenfamilie
max_family
hat den TypMax
mit dem EingabetypInteger
. - Die Spaltenfamilie
min_family
hat den TypMin
mit dem EingabetypInteger
. - Die Spaltenfamilie
sum_family
hat den TypSum
mit dem EingabetypInteger
.
cbt createtable counters_quickstart_table families=sum_family:never:intsum,min_family:never:intmin,max_family:never:intmax
- Die Spaltenfamilie
Listen Sie die Spaltenfamilien mit dem Befehl
cbt ls
auf.cbt ls counters_quickstart_table
Shell zeigt in etwa Folgendes an:
Family Name GC Policy ----------- --------- max_family <never> min_family <never> sum_family <never>
Zähler in der Tabelle erstellen
Verwenden Sie den Befehl
cbt addtocell
, um einen Anfangswert von5
in eine neue Spalte in jeder der drei Spaltenfamilien zu schreiben. Verwenden Sie dazu den Zeilenschlüsselrow-key1
und den Zeitstempel0
. Bei diesem Vorgang werden aggregierte Zellen erstellt, die Sie als Zähler verwenden.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
Daten lesen
Wenn Sie die Zählerwerte als Ganzzahlen und nicht als Byte sehen möchten, definieren Sie eine
yaml
-Datei, die von dercbt
-Befehlszeile zum Formatieren der Ausgabe verwendet werden kann. Führen Sie den folgenden Befehl aus: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
Prüfen Sie, ob Sie die Datei
cbtformat.yaml
korrekt eingerichtet haben.cat ~/cbtformat.yaml
Das Terminal zeigt den Inhalt der Datei
cbtformat.yaml
, der in etwa so aussieht: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
Verwenden Sie den Befehl
cbt read
, um die Dateiyaml
zu übergeben und die Daten zu lesen, die Sie der Tabelle hinzugefügt haben. Die Tabelle hat jetzt drei Spalten, die jeweils einen anderen Aggregationstyp enthalten.cbt read counters_quickstart_table format-file=$HOME/cbtformat.yaml
In der Shell wird in etwa Folgendes angezeigt: Die Werte sind als Ganzzahlen formatiert und die Zeitstempel sind im UTC-Format.
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
Zähler aktualisieren
Fügen Sie jeder Spalte in der Tabelle den Wert 3 hinzu. Verwenden Sie dabei dieselben Zeitstempel wie beim Erstellen der Zellen. In jeder Spalte wird der Zellwert basierend auf dem Aggregationstyp der Zelle mit dem vorhandenen Wert zusammengeführt.
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
Verwenden Sie den Befehl
cbt read
noch einmal, um die Daten in der Tabelle zu lesen. Jede Zelle enthält jetzt einen aggregierten Wert.cbt read counters_quickstart_table format-file=$HOME/cbtformat.yaml
sum_column
enthält die Summe von 5 und 3 (8),min_column
enthält den Mindestwert der beiden Werte, die in das Feld geschrieben wurden (3), undmax_column
enthält den Höchstwert der beiden Werte, die in das Feld geschrieben wurden (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
Optional: Fragen Sie die Tabelle in der Google Cloud Console mit SQL ab.
Öffnen Sie in der Google Cloud Console die Seite Bigtable-Instanzen.
Wählen Sie
counters-quickstart-instance
aus der Liste aus.Klicken Sie im Navigationsmenü auf Bigtable Studio.
Klicken Sie auf den Tab Editor.
Fügen Sie diese Abfrage in den Editor ein:
SELECT * FROM `counters_quickstart_table`
Klicken Sie auf Ausführen. Die Ergebnisse der Abfrage werden in der Tabelle Ergebnisse angezeigt und sehen in etwa so aus:
_key max_family min_family sum_family row-key1 { "max_column": 5 } { "min_column": 5 } { "sum_column": 8 }
Bereinigen
Löschen Sie das Google Cloud -Projekt mit den Ressourcen, damit Ihrem Google Cloud -Konto die auf dieser Seite verwendeten Ressourcen nicht in Rechnung gestellt werden.
Löschen Sie die Tabelle
counters_quickstart_table
im Terminal:cbt deletetable counters_quickstart_table
Löschen Sie die Instanz:
cbt deleteinstance counters-quickstart-instance
Löschen Sie die Datei
.cbtrc
:rm ~/.cbtrc
Löschen Sie die Formatierungsdatei:
rm ~/cbtformat.yaml
Optional: Widerrufen Sie Anmeldedaten von der gcloud-CLI:
gcloud auth revoke