SQL-Workflow in Dataform erstellen und ausführen

In dieser Kurzanleitung werden Sie durch den folgenden Prozess in Dataform geführt, um einen SQL-Workflow zu erstellen und in BigQuery auszuführen:

Hinweise

  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. BigQuery and Dataform 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. BigQuery and Dataform APIs aktivieren.

    Aktivieren Sie die APIs

Erforderliche Rollen

Bitten Sie Ihren Administrator, Ihnen die folgenden IAM-Rollen zu gewähren, damit Sie die Berechtigungen erhalten, die Sie zum Ausführen aller Aufgaben in dieser Anleitung benötigen:

Weitere Informationen zum Zuweisen von Rollen finden Sie unter Zugriff verwalten.

Möglicherweise können Sie die erforderlichen Berechtigungen auch über benutzerdefinierte Rollen oder andere vordefinierte Rollen erhalten.

Dataform-Repository erstellen

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

    Zu Dataform

  2. Klicken Sie auf Repository erstellen.

  3. Führen Sie auf der Seite Repository erstellen die folgenden Schritte aus:

    1. Geben Sie im Feld Repository-ID den Wert quickstart-repository ein.

    2. Wählen Sie in der Liste Region europe-west4 aus.

    3. Klicken Sie auf Erstellen.

Entwicklungsarbeitsbereich für Dataform erstellen und initialisieren

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

    Zu Dataform

  2. Klicken Sie auf quickstart-repository.

  3. Klicken Sie auf Entwicklungsarbeitsbereich erstellen.

  4. Führen Sie im Fenster Entwicklungsarbeitsbereich erstellen die folgenden Schritte aus:

    1. Geben Sie im Feld Workspace-ID den Wert quickstart-workspace ein.

    2. Klicken Sie auf Erstellen.

    Die Seite des Entwicklungsarbeitsbereichs wird angezeigt.

  5. Klicken Sie auf Arbeitsbereich initialisieren.

Ansicht erstellen

In den folgenden Abschnitten definieren Sie eine Ansicht, die Sie später als Datenquelle für eine Tabelle verwenden.

SQLX-Datei zur Definition einer Ansicht erstellen

  1. Klicken Sie im Bereich Dateien neben definitions/ auf das -Menü Mehr.

  2. Klicken Sie auf Datei erstellen.

  3. Führen Sie im Bereich Neue Datei erstellen die folgenden Schritte aus:

    1. Geben Sie im Feld Dateipfad hinzufügen definitions/quickstart-source.sqlx ein.

    2. Klicken Sie auf Datei erstellen.

Datenansicht definieren

  1. Maximieren Sie im Bereich Dateien den Ordner „Definitionen“.

  2. Klicken Sie auf definitions/quickstart-source.sqlx.

  3. Geben Sie in die Datei das folgende Code-Snippet ein:

    config {
      type: "view"
    }
    
    SELECT
      "apples" AS fruit,
      2 AS count
    UNION ALL
    SELECT
      "oranges" AS fruit,
      5 AS count
    UNION ALL
    SELECT
      "pears" AS fruit,
      1 AS count
    UNION ALL
    SELECT
      "bananas" AS fruit,
      0 AS count
    
  4. Klicken Sie auf Format.

Tabelle erstellen

In den folgenden Abschnitten definieren Sie den Tabellentyp in einer SQLX-Datei und schreiben dann eine SELECT-Anweisung, um die Tabellenstruktur in derselben Datei zu definieren.

SQLX-Datei für Tabellendefinition erstellen

  1. Klicken Sie im Bereich Dateien neben definitions/ auf das -Menü Mehr und wählen Sie Datei erstellen aus.

  2. Geben Sie im Feld Dateipfad hinzufügen den Wert definitions/quickstart-table.sqlx ein.

  3. Klicken Sie auf Datei erstellen.

Tabellentyp, -struktur und -abhängigkeiten definieren

  1. Maximieren Sie im Bereich Files (Dateien) das Verzeichnis definitions/.

  2. Wählen Sie quickstart-table.sqlx aus und geben Sie den folgenden Tabellentyp und die SELECT-Anweisung ein:

    config {
      type: "table"
    }
    
    SELECT
      fruit,
      SUM(count) as count
    FROM ${ref("quickstart-source")}
    GROUP BY 1
    
  3. Klicken Sie auf Format.

Nach der Definition des Tabellentyps gibt Dataform einen Abfragevalidierungsfehler aus, da quickstart-source in BigQuery noch nicht vorhanden ist. Dieser Fehler wird behoben, wenn Sie den SQL-Workflow weiter unten in dieser Anleitung ausführen.

Dataform Zugriff auf BigQuery gewähren

Zum Ausführen von Workflows in BigQuery muss das Dataform-Dienstkonto die folgenden erforderlichen Rollen haben:

  • BigQuery-Dateneditor für Projekte, für die Dataform Lese- und Schreibzugriff benötigt. Sie enthalten in der Regel das Projekt, in dem Ihr Dataform-Repository gehostet wird.
  • BigQuery Data Viewer für Projekte, auf die Dataform Lesezugriff benötigt.
  • BigQuery Job User in dem Projekt, in dem Ihr Dataform-Repository gehostet wird.

So weisen Sie diese Rollen zu:

  1. Öffnen Sie in der Google Cloud Console die Seite IAM.

    Zur Seite „IAM“

  2. Klicken Sie auf Hinzufügen.

  3. Geben Sie im Feld Neue Hauptkonten Ihre Dataform-Dienstkonto-ID ein.

  4. Wählen Sie in der Drop-down-Liste Rolle auswählen die Rolle BigQuery-Jobnutzer aus.

  5. Klicken Sie auf Weitere Rolle hinzufügen und wählen Sie in der Drop-down-Liste Rolle auswählen die Rolle BigQuery-Datenbearbeiter aus.

  6. Klicken Sie auf Weitere Rolle hinzufügen und wählen Sie in der Drop-down-Liste Rolle auswählen die Rolle BigQuery-Datenbetrachter aus.

  7. Klicken Sie auf Speichern.

Workflow ausführen

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

    Zu Dataform

  2. Klicken Sie auf der Seite quickstart-workspace auf Ausführung starten.

  3. Klicken Sie auf Alle Aktionen.

  4. Klicken Sie im Bereich Ausführen auf Ausführung starten.

    Dataform verwendet die Standard-Repository-Einstellungen, um den Inhalt Ihres Workflows in einem BigQuery-Dataset namens dataform zu erstellen.

Ausführungslogs in Dataform aufrufen

  1. Klicken Sie auf der Seite quickstart-repository auf Workflow-Ausführungslogs.

  2. Klicken Sie auf die letzte Ausführung, um deren Details aufzurufen.

Bereinigen

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

In BigQuery erstelltes Dataset löschen

Löschen Sie das Dataset dataform, um Gebühren für BigQuery-Assets zu vermeiden.

  1. Öffnen Sie in der Google Cloud Console die Seite BigQuery.

    BigQuery aufrufen

  2. Maximieren Sie im Bereich Explorer Ihr Projekt und wählen Sie dataform aus.

  3. Klicken Sie auf das Menü Aktionen und wählen Sie Löschen aus.

  4. Geben Sie im Dialogfeld Dataset löschen delete in das Feld ein und klicken Sie dann auf Löschen.

Entwicklungsarbeitsbereich für Dataform löschen

Das Erstellen des Dataform-Entwicklungsarbeitsbereichs ist kostenlos. Zum Löschen des Entwicklungsarbeitsbereichs können Sie jedoch die folgenden Schritte ausführen:

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

    Zu Dataform

  2. Klicken Sie auf quickstart-repository.

  3. Klicken Sie auf dem Tab Entwicklungsarbeitsbereiche auf das -Menü Mehr neben quickstart-workspace und wählen Sie Löschen aus.

  4. Klicken Sie zur Bestätigung auf Löschen.

Dataform-Repository löschen

Für das Erstellen eines Dataform-Repositorys fallen keine Kosten an. Zum Löschen des Repositorys können Sie jedoch die folgenden Schritte ausführen:

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

    Zu Dataform

  2. Klicken Sie neben quickstart-repository auf das -Menü Mehr und wählen Sie dann Löschen aus.

  3. Geben Sie im Fenster Repository löschen den Namen des Repositorys ein, um das Löschen zu bestätigen.

  4. Klicken Sie zur Bestätigung auf Löschen.

Nächste Schritte