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.