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

  1. Melden Sie sich bei Ihrem Google-Konto an.

    Wenn Sie noch kein Konto haben, melden Sie sich hier für ein neues Konto an.

  2. Installieren Sie die Google Cloud CLI.

  3. Wenn Sie einen externen Identitätsanbieter (IdP) verwenden, müssen Sie sich zuerst mit Ihrer föderierten Identität in der gcloud CLI anmelden.

  4. Führen Sie den folgenden Befehl aus, um die gcloud CLI zu initialisieren:

    gcloud init
  5. Aktualisieren Sie die gcloud CLI nach der Initialisierung und installieren Sie die erforderlichen Komponenten:

    gcloud components update
    gcloud components install cbt
  6. 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 Berechtigung resourcemanager.projects.create enthält. Weitere Informationen zum Zuweisen von Rollen
    • So erstellen Sie ein Google Cloud Projekt:

      gcloud projects create PROJECT_ID

      Ersetzen Sie PROJECT_ID durch 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_ID durch den Namen Ihres Projekts in Google Cloud .

  7. Prüfen Sie, ob die Abrechnung für Ihr Google Cloud Projekt aktiviert ist.

  8. 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 Rollen

    gcloud services enable bigtable.googleapis.com bigtableadmin.googleapis.com
  9. Installieren Sie die Google Cloud CLI.

  10. Wenn Sie einen externen Identitätsanbieter (IdP) verwenden, müssen Sie sich zuerst mit Ihrer föderierten Identität in der gcloud CLI anmelden.

  11. Führen Sie den folgenden Befehl aus, um die gcloud CLI zu initialisieren:

    gcloud init
  12. Aktualisieren Sie die gcloud CLI nach der Initialisierung und installieren Sie die erforderlichen Komponenten:

    gcloud components update
    gcloud components install cbt
  13. 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 Berechtigung resourcemanager.projects.create enthält. Weitere Informationen zum Zuweisen von Rollen
    • So erstellen Sie ein Google Cloud Projekt:

      gcloud projects create PROJECT_ID

      Ersetzen Sie PROJECT_ID durch 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_ID durch den Namen Ihres Projekts in Google Cloud .

  14. Prüfen Sie, ob die Abrechnung für Ihr Google Cloud Projekt aktiviert ist.

  15. 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 Rollen

    gcloud services enable bigtable.googleapis.com bigtableadmin.googleapis.com
  16. 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

Console

  1. Rufen Sie in der Google Cloud Console die Seite Instanz erstellen auf.

    Zur Seite „Instanz erstellen”

  2. Geben Sie im Feld Instanzname Counters quickstart instance ein.

  3. Geben Sie im Feld Instanz-ID den Wert counters-quickstart-instance ein.

  4. Klicken Sie auf Weiter.

  5. Wählen Sie im Abschnitt Version auswählen die Option Enterprise aus.

  6. Klicken Sie auf Weiter.

  7. Wählen Sie im Abschnitt Speichertyp die Option SSD aus.

  8. Klicken Sie auf Weiter.

  9. Geben Sie im Feld Cluster-ID den Wert counters-quickstart-cluster ein.

  10. Wählen Sie in der Liste Region die Option us-east1 (South Carolina) aus.

  11. Wählen Sie in der Liste Zone die Option us-east1-c aus.

  12. Wählen Sie im Abschnitt zur Knotenskalierung die Option Autoscaling aus und gehen Sie dann so vor:

    1. Geben Sie für die Mindestanzahl von Knoten 1 ein.
    2. Geben Sie für die maximale Anzahl von Knoten 3 ein.
  13. Klicken Sie auf Erstellen, um die Instanz zu erstellen.

gcloud

  1. 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

  1. 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.

  2. 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 zusammengefassten Spaltenfamilien erstellen

Console

  1. Klicken Sie in der linken Navigationsleiste der Google Cloud -Konsole auf Tabellen.

  2. Klicken Sie auf  Tabelle erstellen.

  3. Geben Sie im Feld Table ID (Tabellen-ID) den Wert counters_quickstart_table ein.

  4. 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:

      1. Geben Sie im Feld Name der Spaltenfamilie sum_family ein.
      2. Wählen Sie im Bereich Spaltenfamilientyp die Option Aggregat aus.
      3. Wählen Sie in der Liste Aggregator die Option Summe aus.
      4. Wählen Sie im Abschnitt Richtlinie für automatische Speicherbereinigung festlegen die Option Speicher nie automatisch bereinigen aus.
      5. Klicken Sie auf Fertig.
    • min_family:

      1. Geben Sie im Feld Name der Spaltenfamilie min_family ein.
      2. Wählen Sie im Bereich Spaltenfamilientyp die Option Aggregat aus.
      3. Wählen Sie in der Liste Aggregator die Option Min. aus.
      4. Wählen Sie im Abschnitt Richtlinie für automatische Speicherbereinigung festlegen die Option Speicher nie automatisch bereinigen aus.
      5. Klicken Sie auf Fertig.
    • max_family:

      1. Geben Sie im Feld Name der Spaltenfamilie max_family ein.
      2. Wählen Sie im Bereich Spaltenfamilientyp die Option Aggregat aus.
      3. Wählen Sie in der Liste Aggregator die Option Max. aus.
      4. Wählen Sie im Abschnitt Richtlinie für automatische Speicherbereinigung festlegen die Option Speicher nie automatisch bereinigen aus.
      5. Klicken Sie auf Fertig.
  5. Klicken Sie auf Erstellen.

  6. So rufen Sie Ihre neuen Spaltenfamilien und ihre aggregierten Konfigurationen auf:

    1. Klicken Sie im Navigationsmenü auf Bigtable Studio.
    2. Erweitern Sie im Object Explorer-Baum auf der linken Seite Tabellen, dann counters_quickstart_table und schließlich Spaltenfamilien.

cbt

  1. Verwenden Sie den Befehl cbt createtable, um eine Tabelle mit dem Namen counters_quickstart_table mit drei aggregierten Spaltenfamilien zu erstellen. Konfigurieren Sie jede Spaltenfamilie mit einem anderen Aggregationstyp:

    • Die Spaltenfamilie max_family hat den Typ Max mit dem Eingabetyp Int64.
    • Die Spaltenfamilie min_family hat den Typ Min mit dem Eingabetyp Int64.
    • Die Spaltenfamilie sum_family hat den Typ Sum mit dem Eingabetyp Int64.
    cbt createtable counters_quickstart_table families=sum_family:never:intsum,min_family:never:intmin,max_family:never:intmax
    
  2. 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

  1. Verwenden Sie den Befehl cbt addtocell, um einen Anfangswert von 5 in eine neue Spalte in jeder der drei Spaltenfamilien zu schreiben. Verwenden Sie dazu den Zeilenschlüssel row-key1 und den Zeitstempel 0. 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

  1. Öffnen Sie in der Google Cloud Console die Seite Bigtable-Instanzen.

    Zur Instanzliste

  2. Wählen Sie counters-quickstart-instance aus der Liste aus.

  3. Klicken Sie im Navigationsmenü auf Bigtable Studio.

  4. Klicken Sie auf den Tab Editor.

  5. Fügen Sie diese Abfrage in den Editor ein:

    SELECT * FROM `counters_quickstart_table`
    
  6. 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

  1. 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.yaml
    
  2. 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
    
  3. Verwenden 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.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

  1. 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
    
  2. 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 sie geschrieben wurden (3), und max_column enthä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

  1. Löschen Sie die Tabelle counters_quickstart_table:

    1. Rufen Sie in der Google Cloud Console die Seite Bigtable-Instanzen auf.

      Zur Instanzliste

    2. Klicken Sie in der Liste der Instanzen auf Counters quickstart instance (Kurzanleitungs-Instanz für Zähler).

    3. Klicken Sie im linken Navigationsbereich auf Sicherungen.

    4. Klicken Sie neben counters_quickstart_table auf  und dann auf Löschen.

    5. Geben Sie zur Bestätigung counters_quickstart_table ein und klicken Sie dann auf Löschen.

  2. Löschen Sie die Instanz:

    1. Rufen Sie in der Google Cloud Console die Seite Bigtable-Instanzen auf.

      Zur Instanzliste

    2. Klicken Sie auf Kurzanleitungs-Instanz für Zähler.

    3. Klicken Sie auf Instanz löschen.

    4. Geben Sie zur Bestätigung counters-quickstart-instance ein und klicken Sie dann auf Löschen.

  3. Löschen Sie im Terminal die Konfigurationsdateien und optionalen Anmeldedaten:

    1. Löschen Sie die Datei .cbtrc:

      rm ~/.cbtrc
      
    2. Löschen Sie die Formatierungsdatei:

      rm ~/cbtformat.yaml
      
    3. Optional: Widerrufen Sie Anmeldedaten von der gcloud-CLI:

      gcloud auth revoke
      

cbt

  1. Löschen Sie die Tabelle counters_quickstart_table im Terminal:

    cbt deletetable counters_quickstart_table
    
  2. Löschen Sie die Instanz:

    cbt deleteinstance counters-quickstart-instance
    
  3. Löschen Sie die Datei .cbtrc:

    rm ~/.cbtrc
    
  4. Löschen Sie die Formatierungsdatei:

    rm ~/cbtformat.yaml
    
  5. Optional: Widerrufen Sie Anmeldedaten von der gcloud-CLI:

    gcloud auth revoke
    

Nächste Schritte