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.
-
Wenn Sie einen externen Identitätsanbieter (IdP) verwenden, müssen Sie sich zuerst mit Ihrer föderierten Identität in der gcloud CLI anmelden.
-
Führen Sie folgenden Befehl aus, um die gcloud CLI zu initialisieren:
gcloud init -
Aktualisieren Sie die gcloud CLI nach der Initialisierung und installieren Sie die erforderlichen Komponenten:
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.
-
Wenn Sie einen externen Identitätsanbieter (IdP) verwenden, müssen Sie sich zuerst mit Ihrer föderierten Identität in der gcloud CLI anmelden.
-
Führen Sie folgenden Befehl aus, um die gcloud CLI zu initialisieren:
gcloud init -
Aktualisieren Sie die gcloud CLI nach der Initialisierung und installieren Sie die erforderlichen Komponenten:
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 - 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 updategcloud components install cbt 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"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 >> ~/.cbtrcErsetzen Sie PROJECT_ID durch die ID des Projekts, das Sie verwenden.
Prüfen Sie, ob Sie die Datei
.cbtrckorrekt eingerichtet haben.cat ~/.cbtrcDas 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.Verwenden Sie den Befehl
cbt createtable, um eine Tabelle mit dem Namencounters_quickstart_tablemit drei aggregierten Spaltenfamilien zu erstellen. Konfigurieren Sie jede Spaltenfamilie mit einem anderen Aggregationstyp:- Die Spaltenfamilie
max_familyhat den TypMaxmit dem EingabetypInteger. - Die Spaltenfamilie
min_familyhat den TypMinmit dem EingabetypInteger. - Die Spaltenfamilie
sum_familyhat den TypSummit 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 lsauf.cbt ls counters_quickstart_tableShell zeigt in etwa Folgendes an:
Family Name GC Policy ----------- --------- max_family <never> min_family <never> sum_family <never>Verwenden Sie den Befehl
cbt addtocell, um einen Anfangswert von5in eine neue Spalte in jeder der drei Spaltenfamilien zu schreiben. Verwenden Sie dazu den Zeilenschlüsselrow-key1und 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@0Wenn 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.yamlPrüfen Sie, ob Sie die Datei
cbtformat.yamlkorrekt eingerichtet haben.cat ~/cbtformat.yamlDas 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: INT64Verwenden Sie den Befehl
cbt read, um die Dateiyamlzu übergeben und die Daten zu lesen, die Sie der Tabelle hinzugefügt haben. Die Tabelle hat jetzt drei Spalten mit jeweils einem anderen Aggregationstyp.cbt read counters_quickstart_table format-file=$HOME/cbtformat.yamlIn 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 5Fü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@0Verwenden Sie den Befehl
cbt readnoch 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.yamlsum_columnenthält die Summe von 5 und 3 (8),min_columnenthält den Mindestwert der beiden Werte, die in das Feld geschrieben wurden (3), undmax_columnenthä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 8Optional: 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-instanceaus 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 } Löschen Sie die Tabelle
counters_quickstart_tableim Terminal:cbt deletetable counters_quickstart_tableLöschen Sie die Instanz:
cbt deleteinstance counters-quickstart-instanceLöschen Sie die Datei
.cbtrc:rm ~/.cbtrcLöschen Sie die Formatierungsdatei:
rm ~/cbtformat.yamlOptional: Widerrufen Sie Anmeldedaten von der gcloud-CLI:
gcloud auth revoke
Bigtable-Instanz erstellen
Mit Instanz verbinden
Tabelle mit aggregierten Spaltenfamilien erstellen
Zähler in der Tabelle erstellen
Daten lesen
Zähler aktualisieren
Bereinigen
Löschen Sie das Google Cloud -Projekt zusammen mit den Ressourcen, damit Ihrem Google Cloud -Konto die auf dieser Seite verwendeten Ressourcen nicht in Rechnung gestellt werden.