Zusammenstellungen konfigurieren

In diesem Dokument wird beschrieben, wie Sie in Dataform Folgendes tun können:

Hinweis

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

    Zu Dataform

  2. Wählen Sie ein Repository aus oder erstellen Sie eines.

  3. Wählen Sie einen Entwicklungsarbeitsbereich aus oder erstellen Sie einen.

  4. Optional: Wenn Sie das Standardprojekt Google Cloud in der Releasekonfiguration überschreiben möchten, gewähren Sie Ihrem benutzerdefinierten Dienstkonto Zugriff in dem Projekt, das Sie verwenden möchten.

Erforderliche Rollen

Bitten Sie Ihren Administrator, Ihnen die folgenden IAM-Rollen zuzuweisen, um die Berechtigungen zu erhalten, die Sie zum Ausführen der Aufgaben in diesem Dokument benötigen:

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.

Informationen zur Verbesserung der Sicherheit bei der Planung finden Sie unter Erweiterte Planungsberechtigungen implementieren.

Damit Sie die Release-Version einer Releasekonfiguration für ein Dataform-Repository aktualisieren können, müssen Sie dem Dataform-Dienst-Agenten für jedes benutzerdefinierte Dienstkonto in den Workflowkonfigurationen, die diese Releasekonfiguration verwenden, die Berechtigung iam.serviceAccounts.actAs erteilen. Diese Berechtigung ist in der Rolle „Dienstkontonutzer“ (roles/iam.serviceAccountUser) verfügbar. Weitere Informationen finden Sie unter Erforderliche IAM-Rollen zuweisen.

Einführung in den Workflow-Lebenszyklus in Dataform

In diesem Abschnitt wird der Workflow-Lebenszyklus in Dataform beschrieben. Außerdem erfahren Sie, wie Sie die Kompilierung und Ausführung in Dataform konfigurieren.

Der Dataform-Workflow-Lebenszyklus besteht aus den folgenden Phasen:

Entwicklung
Sie entwickeln einen Workflow in einem Dataform-Arbeitsbereich.
Compilation

Dataform kompiliert den Workflow-Code in Ihrem Arbeitsbereich in Echtzeit in SQL und erstellt ein Kompilierungsergebnis des Arbeitsbereichs, das Sie in BigQuery ausführen können. Dataform verwendet die Einstellungen, die Sie in der Datei mit den Workflow-Einstellungen definieren, um das Kompilierungsergebnis zu erstellen.

Die Dataform-Kompilierung ist hermetisch, um die Konsistenz der Kompilierung zu gewährleisten. Das bedeutet, dass derselbe Code jedes Mal zum selben SQL-Kompilierungsergebnis kompiliert wird. Dataform kompiliert Ihren Code in einer Sandbox-Umgebung ohne Internetzugang. Während der Kompilierung sind keine zusätzlichen Aktionen wie das Aufrufen externer APIs verfügbar.

Ausführung

Bei einem Workflow-Aufruf führt Dataform das Ergebnis der Arbeitsbereichkompilierung in BigQuery aus.

Sie können das Kompilierungsergebnis so konfigurieren, dass es beeinflusst, wo und wie Dataform Ihren Workflow ausführt. So können Sie den Dataform-Workflow-Lebenszyklus an Ihre Anforderungen anpassen. Anschließend können Sie Ausführungen manuell auslösen oder planen, um zu beeinflussen, wann Dataform den gesamten Workflow oder ausgewählte Elemente ausführt.

Dataform-Kompilierung konfigurieren

Standardmäßig verwendet Dataform Einstellungen in der Datei mit den Workflow-Einstellungen, um Kompilierungsergebnisse zu erstellen. Sie können die Standardeinstellungen mit Überschreibungen für die Kompilierung überschreiben, um benutzerdefinierte Kompilierungsergebnisse zu erstellen. Sie können dann die Ausführung eines benutzerdefinierten Kompilierungsergebnisses manuell auslösen oder Ausführungen planen.

Dataform bietet die folgenden Optionen zum Konfigurieren von Kompilierungsergebnissen:

Überschreibungen von Arbeitsbereichskompilierungen
Sie können Kompilierungsüberschreibungen konfigurieren, die für alle Arbeitsbereiche in einem Repository gelten. Sie können Überschreibungen von Arbeitsbereichskompilierungen verwenden, um isolierte Entwicklungsumgebungen zu erstellen.
Releasekonfigurationen
Sie können Releasekonfigurationen erstellen, um Vorlagen für die Erstellung von Kompilierungsergebnissen eines Dataform-Repositorys zu konfigurieren. Anschließend können Sie eine Workflowkonfiguration erstellen, um Ausführungen von Kompilierungsergebnissen zu planen, die in einer ausgewählten Releasekonfiguration erstellt wurden.
Dataform API-Kompilierungsüberschreibungen
Sie können Dataform API-Anfragen im Terminal übergeben, um ein einzelnes Kompilierungsergebnis mit Kompilierungsüberschreibungen zu erstellen und auszuführen.

Kompilierungsüberschreibungen für Arbeitsbereiche konfigurieren

Mit Überschreibungen von Arbeitsbereichskompilierungen können Sie Kompilierungsüberschreibungen für alle Arbeitsbereiche in einem Dataform-Repository erstellen. Sie können für jedes Repository eine Konfiguration von Überschreibungen für die Kompilierung von Arbeitsbereichen erstellen.

Wenn Sie die Ausführung in einem Arbeitsbereich in einem Repository mit Überschreibungen von Arbeitsbereichskompilierungen manuell auslösen, wendet Dataform diese Überschreibungen auf das Kompilierungsergebnis des Arbeitsbereichs an.

Sie können die folgenden Überschreibungen von Arbeitsbereichskompilierungen konfigurieren:

  • Google Cloud : Projekt, in dem Dataform die Inhalte des Arbeitsbereichs ausführt
  • Tabellenpräfix
  • Schemasuffix

Mit Überschreibungen von Arbeitsbereichskompilierungen können Sie isolierte Entwicklungsumgebungen erstellen, indem Sie die Ergebnisse der Arbeitsbereichskompilierung in BigQuery mit dynamischen Überschreibungen der Kompilierung isolieren. Kompilierungsüberschreibungen für dynamische Tabellenpräfixe und Schemasuffixe enthalten die Variable ${workspaceName}. Wenn Sie eine Ausführung in einem Arbeitsbereich auslösen, ersetzt Dataform die Variable ${workspaceName} durch den Namen des aktuellen Arbeitsbereichs. So werden Kompilierungsüberschreibungen erstellt, die für den Arbeitsbereich eindeutig sind.

Beachten Sie, dass Sie keine Ausführungen von Kompilierungsergebnissen planen können, die mit Überschreibungen von Arbeitsbereichskompilierungen erstellt wurden.

Releasekonfigurationen erstellen

Mit Releasekonfigurationen können Sie Vorlagen mit Einstellungen zum Erstellen von Kompilierungsergebnissen von Repositories konfigurieren.

In einer Releasekonfiguration können Sie Überschreibungen von Kompilierungen für Workflow-Einstellungen, Kompilierungsvariablen und die Häufigkeit der Erstellung von Kompilierungsergebnissen für Ihr gesamtes Repository konfigurieren.

In einer Releasekonfiguration können Sie die folgenden Überschreibungen für die Kompilierung konfigurieren:

Sie können mehrere Releasekonfigurationen in einem Dataform-Repository erstellen, eine für jede Phase des Entwicklungszyklus. So erhalten Sie isolierte Ergebnisse der Repository-Kompilierung.

Anschließend können Sie Workflowkonfigurationen erstellen, um Ausführungen zu planen von Kompilierungsergebnissen, die in einer ausgewählten Releasekonfiguration erstellt wurden.

Sie können die Ausführung eines Kompilierungsergebnisses in einer ausgewählten Releasekonfiguration auch manuell auslösen.

Einzelnes Kompilierungsergebnis mit Dataform API-Kompilierungsüberschreibungen konfigurieren

Wenn Sie Dataform API-Anfragen im Terminal übergeben, können Sie Überschreibungen für ein einzelnes Kompilierungsergebnis konfigurieren.

Mit der Anfrage compilationResults.create können Sie ein einzelnes Kompilierungsergebnis eines Dataform-Arbeitsbereichs oder eines angegebenen Git-Commitish erstellen.

Im CodeCompilationConfig-Objekt der compilationResults.create-Anfrage können Sie Überschreibungen für die Kompilierungsanfrage konfigurieren.

Sie können die folgenden Dataform API-Kompilierungsüberschreibungen konfigurieren:

Beachten Sie, dass Dataform API-Kompilierungsüberschreibungen für ein einzelnes Kompilierungsergebnis und eine einzelne Ausführung gelten. Sie können damit keine Dataform-Ausführungen planen.

Sie können ein Kompilierungsergebnis in der workflowInvocations.create-Anfrage ausführen.

Möglichkeiten zum Konfigurieren der Dataform-Ausführung

Dataform bietet die folgenden Optionen zum Konfigurieren der Ausführung:

Manuelle Ausführung in einem Arbeitsbereich
Sie können die sofortige Ausführung eines Workflows in einem Dataform-Arbeitsbereich manuell auslösen, unabhängig von einem Zeitplan. Sie können ausgewählte Aktionen im Workflow ausführen.
Workflowkonfigurationen
Sie können die Ausführung von Kompilierungsergebnissen planen, die in einer ausgewählten Releasekonfiguration erstellt wurden. Sie können Workflowaktionen auswählen, die ausgeführt werden sollen, und die Häufigkeit und Zeitzone der Ausführungen festlegen.

Sofortige Ausführung in einem Arbeitsbereich auslösen

In einem Dataform-Arbeitsbereich können Sie die sofortige Ausführung eines Workflows in Ihrem Arbeitsbereich manuell auslösen, unabhängig von einem Zeitplan.

Sie können die folgenden Elemente des Workflows in Ihrem Arbeitsbereich manuell ausführen:

Wenn Ihr Repository Überschreibungen von Arbeitsbereichskompilierungen enthält, können Sie sehen, welche Überschreibungen von Dataform auf das Ergebnis der Arbeitsbereichskompilierung angewendet werden.

Workflowkonfigurationen erstellen

Mit Workflowkonfigurationen können Sie Ausführungen von Kompilierungsergebnissen aus einer ausgewählten Releasekonfiguration planen. Sie können mehrere Workflowkonfigurationen in einem Dataform-Repository erstellen.

In einer Workflowkonfiguration können Sie die folgenden Ausführungseinstellungen konfigurieren:

  • Angewendete Releasekonfiguration für die Kompilierung.
  • Auswahl der auszuführenden Workflow-Aktionen.
  • Zeitplan und Zeitzone von Ausführungen.

Sie können die folgenden Workflowaktionen auswählen, die ausgeführt werden sollen:

  • Alle Aktionen
  • Ausgewählte Aktionen
  • Aktionen mit ausgewählten Tags

Bei einer geplanten Ausführung Ihrer Workflowkonfiguration stellt Dataform dann die ausgewählten Aktionen aus dem angewendeten Kompilierungsergebnis in BigQuery bereit.

Mit Dataform-Release-Konfigurationen und Workflowkonfigurationen können Sie die Kompilierung konfigurieren und Ausführungen in Dataform planen, ohne auf zusätzliche Dienste angewiesen zu sein.

Ablauf von Lebenszyklusressourcen

In Dataform werden Kompilierungsergebnisse und Workflow-Aufrufe für einen bestimmten Zeitraum gespeichert.

Ablauf von Workflow-Aufrufen

Workflow-Aufrufe laufen nach 90 Tagen ab oder wenn Sie sie manuell löschen.

In einer Workflowkonfiguration können Sie eine Liste der letzten Workflowaufrufe aufrufen, die durch die Konfiguration erstellt wurden. Wenn ein Workflowaufruf, der durch eine Workflowkonfiguration erstellt wurde, abläuft, wird er von Dataform aus der Liste der letzten Aufrufe entfernt.

Ablauf von Kompilierungsergebnissen

Das Ablaufdatum von Kompilierungsergebnissen hängt davon ab, ob sie in einem Entwicklerarbeitsbereich, in einer Releasekonfiguration oder durch einen Workflowaufruf erstellt wurden.

Wenn Sie einen Workflow in einem Dataform-Arbeitsbereich entwickeln, kompiliert Dataform Ihren Code in Echtzeit in ein Kompilierungsergebnis, um die Abfrage zu validieren. Auf diese Weise erstellte Kompilierungsergebnisse laufen nach 24 Stunden ab.

In einer Releasekonfiguration wird das letzte Kompilierungsergebnis zum Live-Kompilierungsergebnis. Ein neues Kompilierungsergebnis ersetzt das aktuelle Live-Kompilierungsergebnis. Dataform behält das Live-Kompilierungsergebnis bei, bis es durch ein neues Kompilierungsergebnis ersetzt wird. Das Ergebnis einer ersetzten Zusammenstellung läuft nach bis zu 24 Stunden ab.

In Dataform werden abgelaufene Kompilierungsergebnisse aus der Liste der bisherigen Kompilierungsergebnisse auf der Seite Details einer Releasekonfiguration entfernt.

Dataform behält Kompilierungsergebnisse, die durch Workflow-Aufrufe erstellt wurden, für die gesamte Lebensdauer des Workflow-Aufrufs bei, bis zu 24 Stunden nach Ablauf oder Löschung des Workflow-Aufrufs.

Überschreibungen von Arbeitsbereichskompilierungen erstellen

In diesem Abschnitt erfahren Sie, wie Sie Überschreibungen von Arbeitsbereichskompilierungen erstellen, um Tabellen und Ansichten zu isolieren, die aus Ihren Dataform-Arbeitsbereichen in BigQuery erstellt wurden. Mit Überschreibungen von Arbeitsbereichskompilierungen können Sie isolierte Dataform-Entwicklungsumgebungen erstellen.

Wenn Sie Workflowcode in einem Dataform-Arbeitsbereich entwickeln, kompiliert Dataform den Code in Ihrem Arbeitsbereich in Echtzeit, um ein Kompilierungsergebnis des Arbeitsbereichs zu erstellen. Dataform verwendet die in der Datei mit den Workflow-Einstellungen definierten Einstellungen, um das Kompilierungsergebnis des Arbeitsbereichs zu erstellen. Wenn Sie dann die Ausführung in einem Arbeitsbereich auslösen, führt Dataform das Ergebnis der Arbeitsbereichkompilierung in BigQuery aus.

Wenn Sie die in den Workflow-Einstellungen festgelegten Standardeinstellungen für alle Arbeitsbereiche in Ihrem Repository überschreiben möchten, können Sie Überschreibungen für die Arbeitsbereichskompilierung erstellen.

Mit Überschreibungen von Arbeitsbereichskompilierungen können Sie die folgenden Einstellungen für alle Arbeitsbereiche in Ihrem Repository überschreiben:

Projekt

Das Google Cloud -Projekt, in dem Dataform das Kompilierungsergebnis des Arbeitsbereichs ausführt. Es wird in workflow_settings.yaml als defaultProject oder in dataform.json als defaultDatabase festgelegt.

Tabellenpräfix

Das benutzerdefinierte Präfix, das allen Tabellennamen in allen Arbeitsbereichen im Repository hinzugefügt wird.

Schemasuffix

Das benutzerdefinierte Suffix, das an das Schema von Tabellen angehängt wird. Legen Sie defaultDataset in workflow_settings.yaml, defaultSchema in dataform.json oder im Parameter schema im Block config einer Tabelle fest.

Um isolierte Entwicklungsumgebungen zu erstellen, können Sie Arbeitsbereiche mit eindeutigen Überschreibungen von Kompilierungen isolieren. Sie können die Kompilierungsüberschreibungen für das Tabellenpräfix und das Schemasuffix mit der Variablen ${workspaceName} dynamisch ändern.

Wenn Sie die Ausführung in einem Arbeitsbereich manuell auslösen, wird mit der Variablen ${workspaceName} der Name des Arbeitsbereichs in die Überschreibungen der Arbeitsbereichskompilierung eingefügt.

Wenn Sie ${workspaceName} als Tabellenpräfix festlegen, fügt Dataform den Namen des Arbeitsbereichs zu den Namen aller Tabellen im Arbeitsbereich hinzu. Nach der Ausführung können Sie in BigQuery ermitteln, aus welchem Arbeitsbereich eine Tabelle stammt.

Wenn Sie ${workspaceName} als Schemasuffix festlegen, hängt Dataform den Namen des Arbeitsbereichs an defaultSchema an und erstellt so ein benutzerdefiniertes Schema, das dem Arbeitsbereich zugeordnet ist. Nach der Ausführung können Sie in BigQuery alle Tabellen, die in einem bestimmten Arbeitsbereich ausgeführt werden, im entsprechenden Schema finden.

Beispiel für dynamische Überschreibungen von Arbeitsbereichskompilierungen

Im folgenden Beispiel werden Überschreibungen für die dynamische Workspace-Kompilierung auf ein Repository angewendet, das Workspaces enthält, die nach den Entwicklern benannt sind, die an dem Repository arbeiten: Sasha und Kai.

Das Ziel von Überschreibungen von Arbeitsbereichskompilierungen in diesem Beispiel ist es, isolierte Entwicklungsumgebungen für Sasha und Kai zu erstellen.

Die folgenden Standardeinstellungen sind in workflow_settings.yaml festgelegt:

  • defaultProject: analytics
  • defaultDataset: dataform

Mit den folgenden Kompilierungsüberschreibungen für Arbeitsbereiche werden ein dynamisches Tabellenpräfix und ein dynamisches Schemasuffix für jeden Arbeitsbereich im Repository erstellt:

  • Google Cloud-Projekt-ID: analytics_dev
  • Tabellenpräfix: ${workspaceName}
  • Schema-Suffix: ${workspaceName}

Wenn Sasha die Ausführung im Arbeitsbereich Sasha manuell auslöst, wird der Inhalt mit den folgenden Einstellungen ausgeführt:

  • Google Cloud -Projekt: analytics_dev
  • Schema: dataform_sasha
  • Tabellennamen: sasha_name, z. B. sasha_orders

Wenn Kai die Ausführung im Arbeitsbereich Kai manuell auslöst, wird der Inhalt mit den folgenden Einstellungen ausgeführt:

  • Google Cloud -Projekt: analytics_dev
  • Schema: dataform_kai
  • Tabellennamen: kai_name, z. B. kai_orders

Überschreibungen von Arbeitsbereichskompilierungen erstellen

So erstellen Sie Überschreibungen von Dataform-Arbeitsbereichskompilierungen:

  1. Rufen Sie in Ihrem Repository die Einstellungen auf.
  2. Klicken Sie auf Bearbeiten.
  3. Geben Sie im Bereich Überschreibungen von Arbeitsbereichskompilierungen im Feld Google Cloud-Projekt-ID die ID des Projekts ein.
  4. Geben Sie im Feld Tabellenpräfix ein Präfix für alle Tabellennamen ein.
    1. Optional: Wenn Sie ein dynamisches Tabellenpräfix erstellen möchten, das für jeden Arbeitsbereich eindeutig ist, geben Sie ${workspaceName} als Tabellenpräfix ein.
  5. Geben Sie im Feld Schemasuffix ein Suffix ein, das an das Schema der erstellten Tabelle oder Ansicht angehängt werden soll.
    1. Optional: Wenn Sie ein dynamisches Schemasuffix erstellen möchten, das für jeden Arbeitsbereich eindeutig ist, geben Sie ${workspaceName} als Tabellensuffix ein.
  6. Klicken Sie auf Speichern.

Dataform wendet Überschreibungen von Arbeitsbereichskompilierungen auf alle Arbeitsbereiche in Ihrem Repository an.

Überschreibungen von Arbeitsbereichskompilierungen bearbeiten

So bearbeiten Sie Überschreibungen von Dataform-Arbeitsbereichskompilierungen:

  1. Rufen Sie in Ihrem Repository die Einstellungen auf.
  2. Klicken Sie auf Bearbeiten.
  3. Bearbeiten Sie die Überschreibungen von Arbeitsbereichskompilierungen und klicken Sie dann auf Speichern.

Überschreibungen von Arbeitsbereichskompilierungen löschen

So löschen Sie Überschreibungen von Dataform-Arbeitsbereichskompilierungen:

  1. Rufen Sie in Ihrem Repository die Einstellungen auf.
  2. Klicken Sie auf Bearbeiten.
  3. Klicken Sie im Bereich Überschreibungen von Arbeitsbereichskompilierungen auf Alle löschen und dann auf Speichern.

Kompilierungsüberschreibungen mit der Dataform API konfigurieren

In diesem Abschnitt erfahren Sie, wie Sie mit der Dataform API ein Kompilierungsergebnis mit Überschreibungen erstellen und ausführen.

Kompilierungsüberschreibungen für die Dataform API

Damit Ihr Workflow ausgeführt werden kann, kompiliert Dataform Ihren Code in SQL, um ein Kompilierungsergebnis zu erstellen. Bei einem Workflow-Aufruf führt Dataform das Kompilierungsergebnis in BigQuery aus.

Standardmäßig verwendet Dataform die Einstellungen in der Datei mit den Workflow-Einstellungen, um das Kompilierungsergebnis zu erstellen. Wenn Sie Daten, die in verschiedenen Phasen des Entwicklungszyklus ausgeführt werden, isolieren möchten, können Sie die Standardeinstellungen mit Überschreibungen der Kompilierung überschreiben.

Wenn Sie Dataform API-Anfragen im Terminal übergeben, können Sie ein einzelnes Kompilierungsergebnis mit Überschreibungen erstellen und ausführen. Sie können ein Kompilierungsergebnis eines Arbeitsbereichs oder eines ausgewählten Git-Commitish erstellen.

Wenn Sie ein Kompilierungsergebnis mit Kompilierungsüberschreibungen erstellen möchten, müssen Sie die Dataform API-Anfrage compilationResults.create stellen. Im Request müssen Sie eine Quelle angeben, die ein Arbeitsbereich oder ein Git-Commitish sein sollte, damit Dataform sie in das Kompilierungsergebnis kompiliert. Im CodeCompilationConfig-Objekt der compilationResults.create-Anfrage können Sie Überschreibungen für die Kompilierung konfigurieren.

Anschließend können Sie das erstellte Kompilierungsergebnis in einer Dataform API-Anfrage workflowInvocations.create ausführen.

Sie können die folgenden Dataform API-Kompilierungsüberschreibungen konfigurieren:

Google Cloud project

Das Projekt, in dem Dataform das Kompilierungsergebnis ausführt. Es wird in der Datei workflow_settings.yaml als Attribut defaultProject oder in der Datei dataform.json als Attribut defaultDatabase festgelegt.

Tabellenpräfix

Das benutzerdefinierte Präfix, das allen Tabellennamen im Kompilierungsergebnis hinzugefügt wird.

Schema-Suffix

Das benutzerdefinierte Suffix, das an das Schema von Tabellen angehängt wird, die im Attribut defaultDataset in der Datei workflow_settings.yaml, im Attribut defaultSchema in der Datei dataform.json oder im Parameter schema im Block config einer Tabelle definiert sind.

Wert einer Kompilierungsvariablen

Der Wert einer Kompilierungsvariable, die im Kompilierungsergebnis verwendet werden soll. Sie können Kompilierungsvariablen verwenden, um Tabellen bedingt auszuführen.

Als Alternative zu Dataform API-Kompilierungsüberschreibungen, die Sie nur für ein Kompilierungsergebnis verwenden können, können Sie Workspace-Kompilierungsüberschreibungen in der Google Cloud -Konsole konfigurieren.

Informationen zu alternativen Möglichkeiten zum Konfigurieren von Überschreibungen von Kompilierungen in Dataform finden Sie unter Einführung in den Workflow-Lebenszyklus in Dataform.

Quelle für das Kompilierungsergebnis festlegen

Wenn Sie die Dataform API-Anfrage compilationResults.create stellen, müssen Sie eine Quelle für das Kompilierungsergebnis angeben.

Sie können einen Dataform-Arbeitsbereich oder einen Git-Zweig, ein Git-Tag oder einen Git-Commit-SHA als Quelle in der compilationResults.create-Anfrage festlegen.

Arbeitsbereich als Quelle für Kompilierungsergebnisse festlegen

  • Geben Sie in der compilationResults.create-Anfrage für das Attribut workspace den Pfad eines ausgewählten Dataform-Arbeitsbereichs im folgenden Format an: