SQL-Workflow in Dataform erstellen und ausführen

In dieser Kurzanleitung wird beschrieben, wie Sie in Dataform einen SQL-Workflow erstellen und in BigQuery ausführen:

Hinweis

  1. Sign in to your Google Cloud account. If you're new to Google Cloud, create an account to evaluate how our products perform in real-world scenarios. New customers also get $300 in free credits to run, test, and deploy workloads.
  2. In the Google Cloud console, on the project selector page, select or create a Google Cloud project.

    Go to project selector

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

  4. Enable the BigQuery and Dataform APIs.

    Enable the APIs

  5. In the Google Cloud console, on the project selector page, select or create a Google Cloud project.

    Go to project selector

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

  7. Enable the BigQuery and Dataform APIs.

    Enable the APIs

Erforderliche Rollen

Bitten Sie Ihren Administrator, Ihnen die folgenden IAM-Rollen für das Projekt zuzuweisen, um die Berechtigungen zu erhalten, die Sie zum Ausführen aller Aufgaben in dieser Anleitung benötigen:

  • Dataform Admin (roles/dataform.admin) – Repositories
  • Dataform-Bearbeiter (roles/dataform.editor) – Arbeitsbereiche und Workflowaufrufe

Weitere Informationen zum Zuweisen von Rollen finden Sie unter Zugriff auf Projekte, Ordner und Organisationen verwalten.

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

Dataform-Repository erstellen

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

    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. Öffnen Sie in der Google Cloud Console die Seite Dataform.

    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 „Entwicklungsbereich“ 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.

Ansicht 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 dieser 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 dann Datei erstellen aus.

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

  3. Klicken Sie auf Datei erstellen.

Tabellentyp, -struktur und -abhängigkeiten definieren

  1. Maximieren Sie im Bereich Dateien das Verzeichnis definitions/.

  2. Wählen Sie quickstart-table.sqlx aus und geben Sie dann 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 löst Dataform einen Abfragevalidierungsfehler aus, da quickstart-source noch nicht in BigQuery vorhanden ist. Dieser Fehler wird behoben, wenn Sie den SQL-Workflow später in dieser Anleitung ausführen.

Dataform Zugriff auf BigQuery gewähren

Damit Workflows in BigQuery ausgeführt werden können, muss das Dataform-Dienstkonto die folgenden Rollen haben:

  • BigQuery-Dateneditor für Projekte, für die Dataform sowohl Lese- als auch 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-Jobnutzer für das 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 IAM-Seite

  2. Klicken Sie auf Hinzufügen.

  3. Geben Sie im Feld Neue Hauptkonten die ID Ihres Dataform-Dienstkontos ein.

  4. Wählen Sie im Drop-down-Menü Rolle auswählen die Rolle BigQuery-Jobnutzer aus.

  5. Klicken Sie auf Weitere Rolle hinzufügen und wählen Sie dann im Drop-down-Menü Rolle auswählen die Rolle BigQuery-Datenbearbeiter aus.

  6. Klicken Sie auf Weitere Rolle hinzufügen und wählen Sie dann im Drop-down-Menü Rolle auswählen die Rolle BigQuery-Datenbetrachter aus.

  7. Klicken Sie auf Speichern.

Workflow ausführen

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

    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 mit dem Namen 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 in dieser Anleitung verwendeten Ressourcen in Rechnung gestellt werden:

In BigQuery erstelltes Dataset löschen

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

  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 den Wert delete in das Feld ein und klicken Sie auf Löschen.

Entwicklungsarbeitsbereich für Dataform löschen

Für das Erstellen eines Dataform-Entwicklungsarbeitsbereichs fallen keine Kosten an. So löschen Sie den Entwicklungsarbeitsbereich:

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

    Zu Dataform

  2. Klicken Sie auf quickstart-repository.

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

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

Dataform-Repository löschen

Für das Erstellen eines Dataform-Repositories fallen keine Kosten an. So löschen Sie das Repository:

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

    Zu Dataform

  2. Klicken Sie neben quickstart-repository auf das Menü Mehr und wählen Sie 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