Einführung in den Codelebenszyklus in Dataform

In diesem Dokument wird der Codelebenszyklus in Dataform beschrieben. Außerdem werden Möglichkeiten zum Konfigurieren der Kompilierung und Ausführung in Dataform beschrieben.

Codelebenszyklus in Dataform

Der Lebenszyklus von Dataform-Code 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 in SQL und erstellt ein Kompilierungsergebnis des Arbeitsbereichs, das Sie in BigQuery ausführen können. Dataform verwendet Einstellungen, die Sie in der Datei dataform.json definiert haben, um das Kompilierungsergebnis zu erstellen.

Die Dataform-Kompilierung ist hermetisch, um die Kompilierungskonsistenz zu gewährleisten. Dies bedeutet, dass immer derselbe Code 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

Bei einem Workflowaufruf führt Dataform das Ergebnis der Arbeitsbereichkompilierung in BigQuery aus.

Um den Lebenszyklus des Dataform-Codes an Ihre Anforderungen anzupassen, 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 dataform.json, 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 Arbeitsbereichskompilierungen
Sie können Kompilierungsüberschreibungen konfigurieren, die für alle Arbeitsbereiche in einem Repository gelten. Sie können mit Überschreibungen von Arbeitsbereichskompilierungen isolierte Entwicklungsumgebungen erstellen.
Release-Konfigurationen
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 die Ausführung von Kompilierungsergebnissen zu planen, die in einer ausgewählten Releasekonfiguration erstellt wurden.
Überschreibungen von Dataform API-Kompilierungen
Sie können Dataform API-Anfragen an das Terminal übergeben, um ein einzelnes Kompilierungsergebnis mit Kompilierungsüberschreibungen zu erstellen und auszuführen.

Kompilierungsüberschreibungen für Arbeitsbereiche konfigurieren

Mit Kompilierungsüberschreibungen für Arbeitsbereiche können Sie Kompilierungsüberschreibungen für alle Arbeitsbereiche in einem Dataform-Repository erstellen. Sie können pro Repository eine Konfiguration von Arbeitsbereichskompilierungsüberschreibungen 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 den Inhalt des Arbeitsbereichs ausführt
  • Tabellenpräfix
  • Schemasuffix

Sie können mit Überschreibungen von Arbeitsbereichskompilierungen isolierte Entwicklungsumgebungen erstellen, indem Sie die Kompilierungsergebnisse des Arbeitsbereichs in BigQuery mit dynamischen Kompilierungsüberschreibungen isolieren. Kompilierungsüberschreibungen für dynamische Tabellenpräfixe und Schemasuffixe 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 und erstellt so Kompilierungsüberschreibungen, die für den Arbeitsbereich eindeutig sind.

Sie können keine Ausführungen von Kompilierungsergebnissen planen, 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 von dataform.json-Einstellungen, Kompilierungsvariablen und der 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 Ihres Entwicklungslebenszyklus. So entstehen isolierte Repository-Kompilierungsergebnisse.

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

Sie können auch manuell die Ausführung eines Kompilierungsergebnisses in einer ausgewählten Releasekonfiguration 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-Commits erstellen.

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

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

Beachten Sie, dass Kompilierungsüberschreibungen der Dataform API für ein einzelnes Kompilierungsergebnis und eine einzelne Ausführung gelten. Sie können sie nicht zum Planen von Dataform-Ausführungen verwenden.

Kompilierungsergebnisse können in der workflowInvocations.create-Anfrage ausgeführt werden.

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 außerhalb eines beliebigen Zeitplans in einem Dataform-Arbeitsbereich manuell auslösen. Sie können ausgewählte Aktionen im SQL-Workflow 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-Workflow-Aktionen auswählen und die Häufigkeit und die Zeitzone der Ausführungen festlegen.

Sofortige Ausführung in einem Arbeitsbereich auslösen

In einem Dataform-Arbeitsbereich können Sie den SQL-Workflow manuell sofort und außerhalb eines Zeitplans ausführen.

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

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

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:

  • Konfiguration des Kompilierungs-Release angewendet
  • Auswahl der auszuführenden SQL-Workflow-Aktionen
  • Zeitplan und Zeitzone von Ausführungen

Sie können die folgenden SQL-Workflow-Aktionen zum Ausführen auswählen:

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

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

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

Ablauf von Lebenszyklusressourcen

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

Ablauf von Workflowaufrufen

Workflowaufrufe 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 abläuft, der durch eine Workflowkonfiguration erstellt wurde, entfernt Dataform diesen Workflowaufruf aus der Liste der letzten Aufrufe.

Ablauf der Kompilierungsergebnisse

Der Ablauf von Kompilierungsergebnissen hängt davon ab, wie sie erstellt werden: in einem Entwicklungsarbeitsbereich, in einer Releasekonfiguration oder durch einen Workflowaufruf.

Wenn Sie einen SQL-Workflow in einem Dataform-Arbeitsbereich entwickeln, kompiliert Dataform Ihren Code in Echtzeit in ein Kompilierungsergebnis, um die Abfragevalidierung bereitzustellen. Kompilierungsergebnisse, die auf diese Weise erstellt wurden, laufen nach 24 Stunden ab.

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

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

Dataform speichert die durch Workflowaufrufe erstellten Kompilierungsergebnisse für die gesamte Lebensdauer des Workflowaufrufs – bis zu 24 Stunden, nachdem der Workflowaufruf abläuft oder gelöscht wird.

Nächste Schritte