Einführung in den Codelebenszyklus in Dataform

In diesem Dokument wird der Codelebenszyklus in Dataform beschrieben. Außerdem erfahren Sie, wie Sie die Kompilierung und Ausführung in Dataform konfigurieren können.

Codelebenszyklus in Dataform

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

Entwicklung
Sie entwickeln einen SQL-Workflow in einem Dataform-Arbeitsbereich.
Kompilierung

Dataform kompiliert den SQL-Workflowcode in Ihrem Arbeitsbereich in Echtzeit zu SQL und erstellt ein Kompilierungsergebnis des Arbeitsbereichs, das Sie in BigQuery ausführen können. Dataform verwendet Einstellungen, die Sie in der Datei workflow_settings.yaml definiert haben, um das Kompilierungsergebnis zu erstellen.

Die Dataform-Kompilierung ist hermetisch, um die Kompilierungskonsistenz sicherzustellen. 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 weiteren Aktionen wie das Aufrufen externer APIs verfügbar.

Umsetzung

In einem Workflowaufruf führt Dataform das Ergebnis der Arbeitsbereichskompilierung in BigQuery aus.

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

Möglichkeiten zum Konfigurieren der Dataform-Kompilierung

Standardmäßig verwendet Dataform Einstellungen in der Datei workflow_settings.yaml, um Kompilierungsergebnisse zu erstellen. Sie können die Standardeinstellungen mit Kompilierungsüberschreibungen ü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 Workspace-Kompilierungen
Sie können Kompilierungsüberschreibungen konfigurieren, die für alle Arbeitsbereiche in einem Repository gelten. Mit Überschreibungen von Arbeitsbereichskompilierungen können Sie isolierte Entwicklungsumgebungen erstellen.
Release-Konfigurationen
Sie können Releasekonfigurationen erstellen, um Vorlagen zum Erstellen von Kompilierungsergebnissen eines Dataform-Repositorys zu konfigurieren. Anschließend können Sie eine Workflowkonfiguration erstellen, um die Ausführung 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 eine Konfiguration von Überschreibungen von Arbeitsbereichskompilierungen pro Repository erstellen.

Wenn Sie die Ausführung in einem Arbeitsbereich manuell auslösen, in einem Repository mit Überschreibungen von Arbeitsbereichskompilierungen, 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 den Inhalt des Arbeitsbereichs ausführt
  • Tabellenpräfix
  • Schemasuffix

Sie können Überschreibungen von Arbeitsbereichskompilierungen verwenden, um isolierte Entwicklungsumgebungen zu erstellen. Dazu isolieren Sie die Kompilierungsergebnisse des Arbeitsbereichs in BigQuery mit dynamischen Kompilierungsüberschreibungen. Überschreibungen dynamischer Tabellenpräfix- und Schemasuffixkompilierungen enthalten die Variable ${workspaceName}. Wenn Sie die Ausführung in einem Arbeitsbereich auslösen, ersetzt Dataform die Variable ${workspaceName} durch den Namen des aktuellen Arbeitsbereichs. Dadurch werden Kompilierungsüberschreibungen erstellt, die nur für diesen Arbeitsbereich gelten.

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 Kompilierungsüberschreibungen der workflow_settings.yaml-Einstellungen, Kompilierungsvariablen und die Häufigkeit der Erstellung von Kompilierungsergebnissen für Ihr gesamtes Repository konfigurieren.

In einer Releasekonfiguration können Sie die folgenden Kompilierungsüberschreibungen konfigurieren:

Sie können in einem Dataform-Repository mehrere Release-Konfigurationen erstellen, eine für jede Phase des Entwicklungszyklus, und so isolierte Repository-Kompilierungsergebnisse erzeugen.

Sie können dann Workflowkonfigurationen erstellen, um Ausführungen von Kompilierungsergebnissen zu planen, 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 Kompilierungsüberschreibungen der Dataform API konfigurieren

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

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

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

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

Beachten Sie, dass Kompilierungsüberschreibungen der Dataform API auf ein einzelnes Kompilierungsergebnis und eine einzelne Ausführung angewendet werden. Sie können damit keine Dataform-Ausführungen planen.

In der workflowInvocations.create-Anfrage können Sie ein Kompilierungsergebnis 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 SQL-Workflows in einem Dataform-Arbeitsbereich manuell außerhalb eines Zeitplans auslösen. Sie können im SQL-Workflow ausgewählte Aktionen ausführen.
Workflowkonfigurationen
Sie können Ausführungen von Kompilierungsergebnissen planen, die in einer ausgewählten Releasekonfiguration erstellt wurden. Sie können die auszuführenden SQL-Workflowaktionen auswählen 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 den SQL-Workflow manuell außerhalb eines beliebigen Zeitplans in Ihrem Arbeitsbereich ausführen.

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

Wenn Ihr Repository Überschreibungen von Arbeitsbereichskompilierungen enthält, können Sie sehen, welche Kompilierungsüberschreibungen Dataform auf das Kompilierungsergebnis des Arbeitsbereichs anwendet.

Workflowkonfigurationen erstellen

Mit Workflowkonfigurationen können Sie die Ausführung 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 Konfiguration des Kompilierungsrelease
  • Auswahl der auszuführenden SQL-Workflowaktionen
  • Zeitplan und Zeitzone von Ausführungen

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

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

Anschließend stellt Dataform während einer geplanten Ausführung Ihrer Workflowkonfiguration Ihre Auswahl von Aktionen aus dem angewendeten Kompilierungsergebnis in BigQuery bereit.

Mit Dataform-Releasekonfigurationen und Workflowkonfigurationen können Sie die Kompilierung und Ausführung in Dataform konfigurieren, ohne zusätzliche Dienste verwenden zu müssen.

Ablauf von Lebenszyklusressourcen

Dataform speichert Kompilierungsergebnisse und Workflowaufrufe für einen bestimmten Zeitraum.

Ablauf von Workflowaufrufen

Workflowaufrufe laufen nach 90 Tagen oder dann ab, wenn Sie sie manuell löschen.

In einer Workflowkonfiguration können Sie sich eine Liste der letzten Workflowaufrufe ansehen, die von der Konfiguration erstellt wurden. Wenn ein von einer Workflowkonfiguration erstellter Workflowaufruf abläuft, entfernt Dataform diesen Workflowaufruf aus der Liste der letzten Aufrufe.

Ablauf der Kompilierungsergebnisse

Das Ablaufdatum von Kompilierungsergebnissen hängt davon ab, wie sie erstellt werden: in einem Entwicklungsarbeitsbereich, in einer Releasekonfiguration oder von einem Workflowaufruf.

Wenn Sie einen SQL-Workflow in einem Dataform-Arbeitsbereich entwickeln, kompiliert Dataform Ihren Code in Echtzeit zu einem Kompilierungsergebnis, um die Abfragevalidierung durchzuführen. 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. Ein ersetztes Kompilierungsergebnis läuft nach bis zu 24 Stunden ab.

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

Dataform speichert Kompilierungsergebnisse, die durch Workflowaufrufe erstellt wurden, für die gesamte Lebensdauer des Workflowaufrufs, also bis zu 24 Stunden nach Ablauf oder Löschen des Workflowaufrufs.

Nächste Schritte