Kurzanleitung: Vorlagen verwenden

In dieser Kurzanleitung erfahren Sie, wie Sie anhand einer von Google bereitgestellten Dataflow-Vorlage eine Streaming-Pipeline erstellen. Dabei wird speziell auf die Vorlage „Pub/Sub-Thema für BigQuery” Bezug genommen.

Die Vorlage „Pub/Sub-Thema für BigQuery” ist eine Streamingpipeline, die Nachrichten im JSON-Format aus einem Pub/Sub-Thema liest und in eine BigQuery-Tabelle schreibt.


Eine detaillierte Anleitung zu dieser Aufgabe finden Sie direkt in der Console. Klicken Sie dazu einfach auf Anleitung:

Anleitung


Die folgenden Abschnitte führen Sie durch dieselben Schritte wie das Klicken auf Anleitung.

Hinweis

  1. Melden Sie sich bei Ihrem Google Cloud-Konto an. Wenn Sie mit Google Cloud noch nicht vertraut sind, erstellen Sie ein Konto, um die Leistungsfähigkeit unserer Produkte in der Praxis sehen und bewerten zu können. Neukunden erhalten außerdem ein Guthaben von 300 $, um Arbeitslasten auszuführen, zu testen und bereitzustellen.
  2. Wählen Sie in der Google Cloud Console auf der Seite der Projektauswahl ein Google Cloud-Projekt aus oder erstellen Sie eines.

    Zur Projektauswahl

  3. Die Abrechnung für das Google Cloud-Projekt muss aktiviert sein.

  4. Dataflow, Compute Engine, Cloud Logging, Cloud Storage, Google Cloud Storage JSON, BigQuery, Pub/Sub, and Resource Manager APIs aktivieren.

    Aktivieren Sie die APIs

  5. Wählen Sie in der Google Cloud Console auf der Seite der Projektauswahl ein Google Cloud-Projekt aus oder erstellen Sie eines.

    Zur Projektauswahl

  6. Die Abrechnung für das Google Cloud-Projekt muss aktiviert sein.

  7. Dataflow, Compute Engine, Cloud Logging, Cloud Storage, Google Cloud Storage JSON, BigQuery, Pub/Sub, and Resource Manager APIs aktivieren.

    Aktivieren Sie die APIs

  8. Erstellen Sie einen Cloud Storage-Bucket:
    1. Wechseln Sie in der Google Cloud Console zur Cloud Storage-Seite Buckets.

      Zur Seite „Buckets“

    2. Klicken Sie auf Bucket erstellen.
    3. Geben Sie auf der Seite Bucket erstellen die Bucket-Informationen ein. Klicken Sie auf Weiter, um mit dem nächsten Schritt fortzufahren.
      • Geben Sie unter Bucket benennen einen eindeutigen Bucket-Namen ein. Der Bucket-Name darf keine vertraulichen Informationen enthalten, da der Bucket-Namespace global und öffentlich sichtbar ist.
      • Gehen Sie unter Speicherort für Daten auswählen folgendermaßen vor:
        • Wählen Sie eine Option für Standorttyp aus.
        • Wählen Sie eine Standort-Option aus.
      • Wählen Sie unter Standardspeicherklasse für Ihre Daten auswählen Folgendes aus: Standard.
      • Wählen Sie unter Zugriffssteuerung für Objekte auswählen eine Option für die Zugriffssteuerung aus.
      • Geben Sie für Erweiterte Einstellungen (optional) eine Verschlüsselungsmethode, eine Aufbewahrungsrichtlinie oder Bucket-Labels an.
    4. Klicken Sie auf Erstellen.
  9. Kopieren Sie Folgendes, was Sie in einem späteren Abschnitt benötigen:
    • : Name Ihres Cloud Storage-Buckets
    • Ihre Google Cloud-Projekt-ID.

      Diese ID finden Sie über Projekte identifizieren.
  10. Damit Sie die Schritte in dieser Kurzanleitung ausführen können, muss Ihr Nutzerkonto die Rollen Dataflow-Administrator und Dienstkontonutzer haben. Das Compute Engine-Standarddienstkonto muss die Rolle "Dataflow-Worker" haben. So fügen Sie die erforderlichen Rollen in der Konsole hinzu:

    1. Rufen Sie in der Console die Seite IAM auf.
      Zu IAM
    2. Wählen Sie Ihr Projekt aus.
    3. Klicken Sie in der Zeile mit Ihrem Nutzerkonto auf Hauptkonto bearbeiten und dann auf Weitere Rolle hinzufügen.
    4. Wählen Sie in der Drop-down-Liste die Rolle Dataflow-Administrator aus.
    5. Wiederholen Sie den Vorgang für die Rolle Dienstkontonutzer und klicken Sie dann auf Speichern.
    6. Klicken Sie in der Zeile mit dem Compute Engine-Standarddienstkonto auf Hauptkonto bearbeiten und dann auf Weitere Rolle hinzufügen.
    7. Wählen Sie aus der Drop-down-Liste die Rolle Dataflow-Worker aus.
    8. Wiederholen Sie diese Schritte für die Rollen Pub/Sub-Editor und BigQuery-Dateneditor und klicken Sie dann auf Speichern.

      Weitere Informationen zum Zuweisen von Rollen finden Sie unter IAM-Rolle über die Konsole zuweisen.

  11. Sofern Sie diese Option nicht deaktivieren, beginnt jedes neue Projekt mit einem Standardnetzwerk. Wenn Ihr Projekt kein Standardnetzwerk hat, benötigen Sie in Ihrem Projekt ein Netzwerk, für das Ihr Nutzerkonto die Rolle Compute-Netzwerknutzer (roles/compute.networkUser) hat.

BigQuery-Dataset und -Tabelle erstellen

Erstellen Sie in der Console ein BigQuery-Dataset und eine BigQuery-Tabelle mit dem entsprechenden Schema für das Pub/Sub-Thema.

In diesem Beispiel lautet der Name des Datasets taxirides und der Name der Tabelle realtime. So erstellen Sie dieses Dataset und diese Tabelle:

  1. Rufen Sie in der Console die Seite BigQuery auf.
    BigQuery aufrufen
  2. Klicken Sie im Steuerfeld Explorer neben dem Projekt, in dem Sie das Dataset erstellen möchten, auf Aktionen anzeigen und dann auf Dataset erstellen.
  3. Führen Sie im Bereich Dataset erstellen die folgenden Schritte aus:
    1. Geben Sie unter Dataset-ID taxirides ein.
    2. Wählen Sie unter Speicherort der Daten die Option USA aus. Öffentliche Datasets sind am multiregionalen Standort US gespeichert. Der Einfachheit halber sollten Sie Ihr Dataset an diesem Speicherort ablegen.
    3. Übernehmen Sie die anderen Standardeinstellungen und klicken Sie auf Dataset erstellen.
  4. Maximieren Sie im Bereich Explorer Ihr Projekt.
  5. Klicken Sie neben dem Dataset taxirides auf Aktionen ansehen und dann auf Öffnen.
  6. Klicken Sie im Detailfeld auf Tabelle erstellen.
  7. Führen Sie im Bereich Tabelle erstellen die folgenden Schritte aus:
    1. Wählen Sie im Abschnitt Quelle unter Tabelle erstellen aus die Option Leere Tabelle aus.
    2. Geben Sie im Abschnitt Ziel unter Tabelle den Wert realtime ein.
    3. Klicken Sie im Abschnitt Schema auf das Optionsfeld Als Text bearbeiten und fügen Sie die folgende Schemadefinition in das Feld ein:
      ride_id:string,point_idx:integer,latitude:float,longitude:float,timestamp:timestamp,
      meter_reading:float,meter_increment:float,ride_status:string,passenger_count:integer
    4. Wählen Sie unter Partitionierung und Clustereinstellungen für Partitionierung das Feld Zeitstempel aus.
  8. Übernehmen Sie die anderen Standardeinstellungen und klicken Sie auf Tabelle erstellen.

Pipeline ausführen

Führen Sie eine Streaming-Pipeline mit der von Google bereitgestellten Vorlage „Pub/Sub-Thema für BigQuery” aus. Die Pipeline erhält eingehende Daten aus dem Eingabethema.

  1. Rufen Sie in der Console die Dataflow-Seite Jobs auf.
    ZU JOBS
  2. Klicken Sie auf Job aus Vorlage erstellen.
  3. Geben Sie taxi-data als Jobname für Ihren Dataflow-Job ein.
  4. Wählen Sie für die Dataflow-Vorlage die Vorlage Pub/Sub-Thema für BigQuery aus.
  5. Klicken Sie unter Input Pub/Sub topic auf Thema manuell eingeben.
  6. Geben Sie im Dialogfeld unter Themenname Folgendes ein und klicken Sie dann auf Speichern:
    projects/pubsub-public-data/topics/taxirides-realtime

    Dieses öffentlich verfügbare Pub/Sub-Thema basiert auf dem offenen Dataset der NYC Taxi & Limousine Commission. Im Folgenden finden Sie eine Beispielnachricht aus diesem Thema im JSON-Format:

    {
      "ride_id": "19c41fc4-e362-4be5-9d06-435a7dc9ba8e",
      "point_idx": 217,
      "latitude": 40.75399,
      "longitude": -73.96302,
      "timestamp": "2021-03-08T02:29:09.66644-05:00",
      "meter_reading": 6.293821,
      "meter_increment": 0.029003782,
      "ride_status": "enroute",
      "passenger_count": 1
    }
  7. Geben Sie für BigQuery-Ausgabetabelle Folgendes ein:
    PROJECT_ID:taxirides.realtime

    Ersetzen Sie dabei PROJECT_ID durch die Projekt-ID des Projekts, in dem Sie das BigQuery-Dataset erstellt haben.

  8. Geben Sie unter Temporärer Speicherort Folgendes ein:
    BUCKET_NAME/temp/

    Ersetzen Sie BUCKET_NAME durch den Namen des Cloud Storage-Buckets. Der Ordner temp speichert temporäre Dateien, z. B. den bereitgestellten Pipelinejob.

  9. Klicken Sie auf Optionale Parameter anzeigen und geben Sie dann ein Netzwerk und ein Subnetzwerk ein, wenn Ihr Projekt kein Standardnetzwerk hat. Weitere Informationen finden Sie unter Netzwerk und Subnetzwerk angeben.
  10. Klicken Sie auf Job ausführen.

Ergebnisse ansehen

So können Sie sich die in die Tabelle realtime geschriebenen Daten ansehen:

  1. Rufen Sie in der Console die BigQuery-Seite auf.

    BigQuery aufrufen

  2. Fügen Sie die folgende Abfrage in den Abfrageeditor ein:

    SELECT * FROM `PROJECT_ID.taxirides.realtime`
    WHERE `timestamp` > TIMESTAMP_SUB(CURRENT_TIMESTAMP(), INTERVAL 1 DAY)
    LIMIT 1000

    Ersetzen Sie dabei PROJECT_ID durch die Projekt-ID des Projekts, in dem Sie das BigQuery-Dataset erstellt haben. Es kann bis zu einer Minute dauern, bis Daten in der Tabelle angezeigt werden.

  3. Klicken Sie auf Ausführen.

    Die Abfrage gibt Zeilen zurück, die in den letzten 24 Stunden zu Ihrer Tabelle hinzugefügt wurden. Sie können Abfragen auch mit Standard-SQL ausführen.

Bereinigen

Mit den folgenden Schritten vermeiden Sie, dass Ihrem Google Cloud-Konto die in dieser Anleitung verwendeten Ressourcen in Rechnung gestellt werden:

Projekt löschen

Am einfachsten können Sie weitere Kosten vermeiden, wenn Sie das Google Cloud-Projekt löschen, das Sie für den Schnellstart erstellt haben.

  1. Wechseln Sie in der Google Cloud Console zur Seite Ressourcen verwalten.

    Zur Seite „Ressourcen verwalten“

  2. Wählen Sie in der Projektliste das Projekt aus, das Sie löschen möchten, und klicken Sie dann auf Löschen.
  3. Geben Sie im Dialogfeld die Projekt-ID ein und klicken Sie auf Shut down (Beenden), um das Projekt zu löschen.

Einzelne Ressourcen löschen

Wenn Sie das in dieser Kurzanleitung verwendete Google Cloud-Projekt beibehalten möchten, löschen Sie die einzelnen Ressourcen:

  1. Rufen Sie in der Console die Dataflow-Seite Jobs auf.
    Gehe zu Jobs
  2. Wählen Sie den Streaming-Job aus der Jobliste aus.
  3. Klicken Sie im Navigationsbereich auf Beenden.
  4. Geben Sie im Dialogfeld Job anhalten entweder Pipeline abbrechen oder per Drain beenden ein und klicken Sie dann auf Job beenden.
  5. Rufen Sie in der Console die BigQuery-Seite auf.
    BigQuery aufrufen
  6. Maximieren Sie im Bereich Explorer Ihr Projekt.
  7. Klicken Sie neben dem Dataset, das Sie löschen möchten, auf Aktionen ansehen und dann auf Öffnen.
  8. Klicken Sie im Detailbereich auf Dataset löschen und folgen Sie der Anleitung.
  9. Wechseln Sie in der Cloud Console zur Seite Cloud Storage-Buckets.

    Buckets aufrufen

  10. Klicken Sie auf das Kästchen neben dem Bucket, der gelöscht werden soll.
  11. Klicken Sie zum Löschen des Buckets auf Löschen und folgen Sie der Anleitung.

Nächste Schritte