Zähler in Bigtable erstellen und aktualisieren
Hier erfahren Sie, wie Sie mithilfe von Summenwerten Zähler in Bigtable erstellen und aktualisieren. Dabei handelt es sich um Tabellenzellen, in denen Werte zum Zeitpunkt des Schreibens zusammengefasst werden. In dieser Kurzanleitung werden mit der Google Cloud CLI und der cbt
CLI drei Zähler erstellt:
- Ein Zähler, der eine laufende Summe beibehält
- Ein Zähler, der das Minimum 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.
-
To initialize the gcloud CLI, run the following command:
gcloud init
-
Update and install
gcloud
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.
-
To initialize the gcloud CLI, run the following command:
gcloud init
-
Update and install
gcloud
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
CLI 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 Summen-Spaltenfamilien erstellen
Verwenden Sie den Befehl
cbt createtable
, um eine Tabelle mit dem Namencounters_quickstart_table
und drei zusammengefassten 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 Ihre Spaltenfamilien auf, indem Sie den Befehl
cbt ls
ausführen.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 in jeder der drei Spaltenfamilien mit dem Zeilenschlüsselrow-key1
und dem Zeitstempel0
einen Anfangswert von5
in eine neue Spalte zu schreiben. Dabei werden Summenzellen 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 statt als Bytes anzeigen lassen möchten, definieren Sie eine
yaml
-Datei, die diecbt
-Befehlszeile zum Formatieren der Ausgabe verwenden 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 enthält jetzt drei Spalten mit jeweils einem anderen Aggregationstyp.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 die selben Zeitstempel wie beim Erstellen der Zellen. In jeder Spalte wird der Zellenwert 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 noch einmal den Befehl
cbt read
, 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
den Mindestwert der beiden Werte, die darauf geschrieben wurden (3), undmax_column
den Höchstwert der beiden Werte, die darauf 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: Sie können die Tabelle in der Google Cloud Console mit SQL abfragen.
Öffnen Sie in der Google Cloud Console die Seite Bigtable-Instanzen.
Wählen Sie in der Liste
counters-quickstart-instance
aus.Klicken Sie im Navigationsmenü auf Bigtable Studio.
Klicken Sie auf den Tab Editor.
Fügen Sie die folgende 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 im Terminal die Tabelle
counters_quickstart_table
: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