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

  1. Sign in to your Google Account.

    If you don't already have one, sign up for a new account.

  2. Install the Google Cloud CLI.

  3. If you're using an external identity provider (IdP), you must first sign in to the gcloud CLI with your federated identity.

  4. To initialize the gcloud CLI, run the following command:

    gcloud init
  5. After initializing the gcloud CLI, update it and install the required components:

    gcloud components update
    gcloud components install cbt
  6. 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.

  7. Make sure that billing is enabled for your Google Cloud project.

  8. Enable the Cloud Bigtable API and Cloud Bigtable Admin API APIs:

    gcloud services enable bigtable.googleapis.com bigtableadmin.googleapis.com
  9. Install the Google Cloud CLI.

  10. If you're using an external identity provider (IdP), you must first sign in to the gcloud CLI with your federated identity.

  11. To initialize the gcloud CLI, run the following command:

    gcloud init
  12. After initializing the gcloud CLI, update it and install the required components:

    gcloud components update
    gcloud components install cbt
  13. 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.

  14. Make sure that billing is enabled for your Google Cloud project.

  15. Enable the Cloud Bigtable API and Cloud Bigtable Admin API APIs:

    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

  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" \
        --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 aggregierten Spaltenfamilien erstellen

  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 Integer.
    • Die Spaltenfamilie min_family hat den Typ Min mit dem Eingabetyp Integer.
    • Die Spaltenfamilie sum_family hat den Typ Sum mit dem Eingabetyp Integer.
    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

  1. Wenn Sie die Zählerwerte als Ganzzahlen und nicht als Byte sehen 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 Datei yaml 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

  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 das Feld geschrieben wurden (3), und max_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
    
  3. Optional: Fragen Sie die Tabelle in der Google Cloud Console mit SQL ab.

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

  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