Zähler in Bigtable erstellen und aktualisieren
Hier erfahren Sie, wie Sie Zähler in Bigtable mit Aggregaten erstellen und aktualisieren. Das sind Tabellenzellen, in denen Werte zum Zeitpunkt des Schreibens aggregiert werden. In dieser Kurzanleitung werden die folgenden Zähler mit derGoogle Cloud Console, der Google Cloud CLI oder der cbt-CLI 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
Hinweis
-
Melden Sie sich bei Ihrem Google-Konto an.
Wenn Sie noch kein Konto haben, melden Sie sich hier für ein neues Konto an.
-
Installieren Sie die 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 den 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
-
Erstellen Sie ein Google Cloud Projekt oder wählen Sie eines aus.
Rollen, die zum Auswählen oder Erstellen eines Projekts erforderlich sind
- Projekt auswählen: Für die Auswahl eines Projekts ist keine bestimmte IAM-Rolle erforderlich. Sie können jedes Projekt auswählen, für das Ihnen eine Rolle zugewiesen wurde.
-
Projekt erstellen: Zum Erstellen eines Projekts benötigen Sie die Rolle „Projektersteller“ (
roles/resourcemanager.projectCreator), die die Berechtigungresourcemanager.projects.createenthält. Weitere Informationen zum Zuweisen von Rollen
-
So erstellen Sie ein Google Cloud Projekt:
gcloud projects create PROJECT_ID
Ersetzen Sie
PROJECT_IDdurch einen Namen für das Google Cloud Projekt, das Sie erstellen. -
Wählen Sie das von Ihnen erstellte Google Cloud Projekt aus:
gcloud config set project PROJECT_ID
Ersetzen Sie
PROJECT_IDdurch den Namen Ihres Projekts in Google Cloud .
-
Prüfen Sie, ob die Abrechnung für Ihr Google Cloud Projekt aktiviert ist.
Aktivieren Sie die Cloud Bigtable API und die Cloud Bigtable Admin API:
Rollen, die zum Aktivieren von APIs erforderlich sind
Zum Aktivieren von APIs benötigen Sie die Berechtigung
serviceusage.services.enable. Wenn Sie das Projekt erstellt haben, haben Sie diese Berechtigung wahrscheinlich bereits über die Rolle „Inhaber“ (roles/owner). Andernfalls können Sie diese Berechtigung über die Rolle „Service Usage-Administrator“ (roles/serviceusage.serviceUsageAdmin) erhalten. Informationen zum Zuweisen von Rollengcloud services enable bigtable.googleapis.com
bigtableadmin.googleapis.com -
Installieren Sie die 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 den 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
-
Erstellen Sie ein Google Cloud Projekt oder wählen Sie eines aus.
Rollen, die zum Auswählen oder Erstellen eines Projekts erforderlich sind
- Projekt auswählen: Für die Auswahl eines Projekts ist keine bestimmte IAM-Rolle erforderlich. Sie können jedes Projekt auswählen, für das Ihnen eine Rolle zugewiesen wurde.
-
Projekt erstellen: Zum Erstellen eines Projekts benötigen Sie die Rolle „Projektersteller“ (
roles/resourcemanager.projectCreator), die die Berechtigungresourcemanager.projects.createenthält. Weitere Informationen zum Zuweisen von Rollen
-
So erstellen Sie ein Google Cloud Projekt:
gcloud projects create PROJECT_ID
Ersetzen Sie
PROJECT_IDdurch einen Namen für das Google Cloud Projekt, das Sie erstellen. -
Wählen Sie das von Ihnen erstellte Google Cloud Projekt aus:
gcloud config set project PROJECT_ID
Ersetzen Sie
PROJECT_IDdurch den Namen Ihres Projekts in Google Cloud .
-
Prüfen Sie, ob die Abrechnung für Ihr Google Cloud Projekt aktiviert ist.
Aktivieren Sie die Cloud Bigtable API und die Cloud Bigtable Admin API:
Rollen, die zum Aktivieren von APIs erforderlich sind
Zum Aktivieren von APIs benötigen Sie die Berechtigung
serviceusage.services.enable. Wenn Sie das Projekt erstellt haben, haben Sie diese Berechtigung wahrscheinlich bereits über die Rolle „Inhaber“ (roles/owner). Andernfalls können Sie diese Berechtigung über die Rolle „Service Usage-Administrator“ (roles/serviceusage.serviceUsageAdmin) erhalten. Informationen zum Zuweisen von Rollengcloud 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
Bigtable-Instanz erstellen
Console
Rufen Sie in der Google Cloud Console die Seite Instanz erstellen auf.
Geben Sie im Feld Instanzname
Counters quickstart instanceein.Geben Sie im Feld Instanz-ID den Wert
counters-quickstart-instanceein.Klicken Sie auf Weiter.
Wählen Sie im Abschnitt Version auswählen die Option Enterprise aus.
Klicken Sie auf Weiter.
Wählen Sie im Abschnitt Speichertyp die Option SSD aus.
Klicken Sie auf Weiter.
Geben Sie im Feld Cluster-ID den Wert
counters-quickstart-clusterein.Wählen Sie in der Liste Region die Option us-east1 (South Carolina) aus.
Wählen Sie in der Liste Zone die Option us-east1-c aus.
Wählen Sie im Abschnitt zur Knotenskalierung die Option Autoscaling aus und gehen Sie dann so vor:
- Geben Sie für die Mindestanzahl von Knoten
1ein. - Geben Sie für die maximale Anzahl von Knoten
3ein.
- Geben Sie für die Mindestanzahl von Knoten
Klicken Sie auf Erstellen, um die Instanz zu erstellen.
gcloud
Verwenden Sie den Befehl
bigtable instances create, um eine Instanz zu erstellen.gcloud bigtable instances create counters-quickstart-instance \ --display-name="Counters quickstart instance" \ --edition=ENTERPRISE \ --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 >> ~/.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.
Tabelle mit zusammengefassten Spaltenfamilien erstellen
Console
Klicken Sie in der linken Navigationsleiste der Google Cloud -Konsole auf Tabellen.
Klicken Sie auf Tabelle erstellen.
Geben Sie im Feld Table ID (Tabellen-ID) den Wert
counters_quickstart_tableein.Klicken Sie unter Spaltenfamilien für jede Spaltenfamilie, die Sie hinzufügen möchten, auf Spaltenfamilie hinzufügen und geben Sie die folgenden Einstellungen ein:
sum_family:- Geben Sie im Feld Name der Spaltenfamilie
sum_familyein. - Wählen Sie im Bereich Spaltenfamilientyp die Option Aggregat aus.
- Wählen Sie in der Liste Aggregator die Option Summe aus.
- Wählen Sie im Abschnitt Richtlinie für automatische Speicherbereinigung festlegen die Option Speicher nie automatisch bereinigen aus.
- Klicken Sie auf Fertig.
- Geben Sie im Feld Name der Spaltenfamilie
min_family:- Geben Sie im Feld Name der Spaltenfamilie
min_familyein. - Wählen Sie im Bereich Spaltenfamilientyp die Option Aggregat aus.
- Wählen Sie in der Liste Aggregator die Option Min. aus.
- Wählen Sie im Abschnitt Richtlinie für automatische Speicherbereinigung festlegen die Option Speicher nie automatisch bereinigen aus.
- Klicken Sie auf Fertig.
- Geben Sie im Feld Name der Spaltenfamilie
max_family:- Geben Sie im Feld Name der Spaltenfamilie
max_familyein. - Wählen Sie im Bereich Spaltenfamilientyp die Option Aggregat aus.
- Wählen Sie in der Liste Aggregator die Option Max. aus.
- Wählen Sie im Abschnitt Richtlinie für automatische Speicherbereinigung festlegen die Option Speicher nie automatisch bereinigen aus.
- Klicken Sie auf Fertig.
- Geben Sie im Feld Name der Spaltenfamilie
Klicken Sie auf Erstellen.
So rufen Sie Ihre neuen Spaltenfamilien und ihre aggregierten Konfigurationen auf:
- Klicken Sie im Navigationsmenü auf Bigtable Studio.
- Erweitern Sie im Object Explorer-Baum auf der linken Seite Tabellen, dann
counters_quickstart_tableund schließlich Spaltenfamilien.
cbt
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 EingabetypInt64. - Die Spaltenfamilie
min_familyhat den TypMinmit dem EingabetypInt64. - Die Spaltenfamilie
sum_familyhat den TypSummit dem EingabetypInt64.
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>
Zähler in der Tabelle erstellen
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@0
Daten lesen
Sie können die Daten aus Ihrer Tabelle lesen, indem Sie sie mit SQL in der Google Cloud -Konsole abfragen oder das cbt-CLI verwenden.
Tabelle in der Google Cloud Console mit SQL abfragen
Ö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 Abfrageergebnisse 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": 5 }
Mit der cbt-CLI lesen
Wenn Sie die Zählerwerte als Ganzzahlen und nicht als Byte anzeigen möchten, definieren Sie eine YAML-Datei, die von der
cbt-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 YAML-Datei zu ü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 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@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 sie geschrieben wurden (3), undmax_columnenthält den Höchstwert der beiden Werte, die in sie 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
Bereinigen
Löschen Sie das Projekt von Google Cloud zusammen mit den Ressourcen, damit Ihrem Konto von Google Cloud die auf dieser Seite verwendeten Ressourcen nicht in Rechnung gestellt werden.
Console
Löschen Sie die Tabelle
counters_quickstart_table:Rufen Sie in der Google Cloud Console die Seite Bigtable-Instanzen auf.
Klicken Sie in der Liste der Instanzen auf Counters quickstart instance (Kurzanleitungs-Instanz für Zähler).
Klicken Sie im linken Navigationsbereich auf Sicherungen.
Klicken Sie neben
counters_quickstart_tableauf und dann auf Löschen.Geben Sie zur Bestätigung
counters_quickstart_tableein und klicken Sie dann auf Löschen.
Löschen Sie die Instanz:
Rufen Sie in der Google Cloud Console die Seite Bigtable-Instanzen auf.
Klicken Sie auf Kurzanleitungs-Instanz für Zähler.
Klicken Sie auf Instanz löschen.
Geben Sie zur Bestätigung
counters-quickstart-instanceein und klicken Sie dann auf Löschen.
Löschen Sie im Terminal die Konfigurationsdateien und optionalen Anmeldedaten:
Löschen Sie die Datei
.cbtrc:rm ~/.cbtrcLöschen Sie die Formatierungsdatei:
rm ~/cbtformat.yamlOptional: Widerrufen Sie Anmeldedaten von der gcloud-CLI:
gcloud auth revoke
cbt
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