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. In the Google Cloud console, on the project selector page, select or create a Google Cloud project.

    Go to project selector

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

  4. BigQuery and Dataform APIs aktivieren.

    Aktivieren Sie die APIs

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

    Go to project selector

  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 für Ihr Projekt zu gewähren, damit Sie die Berechtigungen erhalten, die Sie zum Ausführen aller Aufgaben in dieser Anleitung benötigen:

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

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. Ö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 „Entwicklungsarbeitsbereich“ 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 mit den 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. Erweitern Sie im Bereich Dateien das Verzeichnis definitions/.

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

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

Nachdem der Tabellentyp definiert wurde, gibt 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

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

  • BigQuery-Dateneditor für Projekte, auf die Dataform Lese- und Schreibzugriff benötigt. Sie enthalten normalerweise das Projekt, das Ihr Dataform-Repository hostet.
  • BigQuery-Datenbetrachter für Projekte, auf die Dataform Lesezugriff benötigt.
  • BigQuery Job User für das Projekt, das Ihr Dataform-Repository hostet.

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 dann in der Drop-down-Liste Rolle auswählen die Rolle BigQuery-Dateneditor aus.

  6. Klicken Sie auf Weitere Rolle hinzufügen und wählen Sie dann in der Drop-down-Liste 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 die Inhalte 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 den Wert 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. Sie können den Entwicklungsarbeitsbereich jedoch so löschen:

  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 neben quickstart-workspace auf das Dreipunkt-Menü und wählen Sie Löschen aus.

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

Dataform-Repository löschen

Das Erstellen eines Dataform-Repositorys ist kostenlos. Sie können das Repository jedoch so löschen:

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

    Zu Dataform

  2. Klicken Sie nach quickstart-repository auf das -Menü More (Mehr) und wählen Sie dann Delete (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