In diesem Dokument wird der Codelebenszyklus in Dataform und Möglichkeiten zur Konfiguration der Kompilierung und Ausführung in Dataform beschrieben.
Codelebenszyklus in Dataform
Der Dataform-Code-Lebenszyklus besteht aus den folgenden Phasen:
- Entwicklung
- Sie entwickeln einen SQL-Workflow in einem Dataform-Arbeitsbereich.
- Zusammenstellung
In Dataform wird der SQL-Workflow-Code in Ihrem Arbeitsbereich in Echtzeit in SQL kompiliert. Dadurch wird ein Kompilierungsergebnis des Arbeitsbereichs erstellt, das Sie in BigQuery ausführen können. Dataform verwendet die Einstellungen, die Sie in der Datei mit den Workflow-Einstellungen definiert haben, um das Kompilierungsergebnis zu erstellen.
Die Dataform-Kompilierung ist hermetisch, um für eine einheitliche Kompilierung zu sorgen. Das bedeutet, dass derselbe Code jedes Mal zum selben SQL-Kompilierungsergebnis führt. Dataform kompiliert Ihren Code in einer Sandbox-Umgebung ohne Internetzugriff. Während der Kompilierung sind keine zusätzlichen Aktionen wie der Aufruf externer APIs verfügbar.
- Ausführung
Bei einer Workflowausführung führt Dataform das Ergebnis der Arbeitsbereichskompilierung in BigQuery aus.
Sie können das Kompilierungsergebnis konfigurieren, um den Dataform-Codelebenszyklus an Ihre Anforderungen anzupassen und so zu beeinflussen, wo und wie Dataform Ihren SQL-Workflow ausführt. Anschließend können Sie Ausführungsaufträge manuell auslösen oder planen, um festzulegen, wann Dataform Ihren gesamten SQL-Workflow oder ausgewählte Elemente ausführt.
Möglichkeiten zur Konfiguration der Dataform-Kompilierung
Standardmäßig verwendet Dataform die Einstellungen in der Workflow-Konfigurationsdatei, 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.
In Dataform stehen die folgenden Optionen zum Konfigurieren von Kompilierungsergebnissen zur Verfügung:
- Überschreibungen von Arbeitsbereichskompilierungen
- 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.
- 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 die Ausführung der in einer ausgewählten Release-Konfiguration erstellten Kompilierungsergebnisse zu planen.
- Überschreibungen für die Dataform API-Kompilierung
- 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 für die Arbeitsbereichskompilierung pro Repository erstellen.
Wenn Sie in einem Repository mit Überschreibungen von Arbeitsbereichskompilierungen die Ausführung in einem Arbeitsbereich manuell auslösen, wendet Dataform diese Überschreibungen auf das Kompilierungsergebnis des Arbeitsbereichs an.
Sie können die folgenden Überschreibungen für die Arbeitsbereichskompilierung konfigurieren:
- Google Cloud -Projekt, in dem Dataform den Inhalt des Arbeitsbereichs ausführt
- Tabellenpräfix
- Schemasuffix
Mit Überschreibungen für die Arbeitsbereichskompilierung können Sie isolierte Entwicklungsumgebungen erstellen, indem Sie die Ergebnisse der Arbeitsbereichskompilierung in BigQuery mit dynamischen Überschreibungen für die Kompilierung 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 kompilierungsspezifische Überschreibungen für den Arbeitsbereich.
Beachten Sie, dass Sie die Ausführung von Kompilierungsergebnissen, die mit Überschreibungen von Arbeitsbereichskompilierungen erstellt wurden, nicht planen können.
Releasekonfigurationen erstellen
Mit Releasekonfigurationen können Sie Vorlagen mit Einstellungen für die Erstellung von Kompilierungsergebnissen von Repositories konfigurieren.
In einer Releasekonfiguration können Sie Kompilierungsüberschreibungen für Workfloweinstellungen, 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:
- Google Cloud -Projekt
- Tabellenpräfix
- Schemasuffix
- Wert einer Kompilierungsvariablen
Sie können mehrere Release-Konfigurationen in einem Dataform-Repository erstellen, eine für jede Phase des Entwicklungszyklus, und so isolierte Repository-Kompilierungsergebnisse erhalten.
Sie können dann Workflowkonfigurationen erstellen, um die Ausführung 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 Dataform API-Kompilierungsüberschreibungen konfigurieren
Wenn Sie Dataform API-Anfragen im Terminal übergeben, können Sie Compile-Überschreibungen für ein einzelnes Compile-Ergebnis konfigurieren.
Mit der compilationResults.create
-Anfrage können Sie ein einzelnes Kompilierungsergebnis eines Dataform-Arbeitsbereichs oder eines bestimmten Git-Commits erstellen.
Im CodeCompilationConfig
-Objekt der compilationResults.create
-Anfrage können Sie Überschreibungen für die Kompilierungsanfrage konfigurieren.
Sie können die folgenden Überschreibungen für die Kompilierung der Dataform API konfigurieren:
- Google Cloud -Projekt
- Tabellenpräfix
- Schemasuffix
- Wert einer Kompilierungsvariablen
Beachten Sie, dass Dataform API-Ü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 zur Konfiguration der Dataform-Ausführung
Dataform bietet die folgenden Optionen zur Konfiguration der Ausführung:
- Manuelle Ausführung in einem Arbeitsbereich
- Sie können die sofortige Ausführung eines SQL-Workflows in einem Dataform-Arbeitsbereich unabhängig von einem Zeitplan manuell auslösen. Sie können ausgewählte Aktionen im SQL-Workflow ausführen.
- Workflowkonfigurationen
- Sie können die Ausführung von Kompilierungsergebnissen planen, die in einer ausgewählten Release-Konfiguration erstellt wurden. Sie können SQL-Workflow-Aktionen 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 des SQL-Workflows in Ihrem Arbeitsbereich manuell ausführen, unabhängig von einem Zeitplan.
Sie können die folgenden Elemente des SQL-Workflows in Ihrem Arbeitsbereich manuell ausführen:
Wenn Ihr Repository Überschreibungen für die Zusammenstellung von Arbeitsbereichen enthält, können Sie sich ansehen, welche Überschreibungen Dataform auf das Ergebnis der Zusammenstellung des Arbeitsbereichs anwenden wird.
Workflowkonfigurationen erstellen
Mit Workflowkonfigurationen können Sie die Ausführung von Kompilierungsergebnissen aus einer ausgewählten Releasekonfiguration planen. Sie können in einem Dataform-Repository mehrere Workflowkonfigurationen erstellen.
In einer Workflowkonfiguration können Sie die folgenden Ausführungseinstellungen konfigurieren:
- Angewandte Releasekonfiguration der Kompilierung
- Auswahl der auszuführenden SQL-Workflow-Aktionen
- Zeitplan und Zeitzone der Ausführungen
Sie können die folgenden SQL-Workflow-Aktionen auswählen, die ausgeführt werden sollen:
- Alle Aktionen
- Ausgewählte Aktionen
- Aktionen mit ausgewählten Tags
Bei einer geplanten Ausführung Ihrer Workflowkonfiguration werden die ausgewählten Aktionen aus dem angewendeten Kompilierungsergebnis dann von Dataform in BigQuery bereitgestellt.
Mit Dataform-Release- 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 Workflowaufrufe für einen bestimmten Zeitraum gespeichert.
Ablauf von Workflowaufrufen
Workflowaufrufe laufen nach 90 Tagen ab oder werden manuell gelöscht.
In einer Workflowkonfiguration können Sie eine Liste der letzten Workflowaufrufe aufrufen, die mit der Konfiguration erstellt wurden. Wenn eine Workflowausführung, die durch eine Workflowkonfiguration erstellt wurde, abläuft, wird sie von Dataform aus der Liste der letzten Aufrufe entfernt.
Ablauf der Kompilierungsergebnisse
Das Ablaufdatum von Kompilierungsergebnissen hängt davon ab, wie sie erstellt wurden: in einem Entwicklungsarbeitsbereich, in einer Release-Konfiguration 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 Abfrage zu validieren. So erstellte Kompilierungsergebnisse laufen nach 24 Stunden ab.
In einer Releasekonfiguration wird das letzte Kompilierungsergebnis zum Live-Kompilierungsergebnis. Das aktuelle Ergebnis der Livekompilierung wird durch ein neues ersetzt. Dataform speichert das Ergebnis der Livekompilierung, bis es durch ein neues ersetzt wird. Ein 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 Release-Konfiguration.
In Dataform werden die durch Workflowaufrufe erstellten Kompilierungsergebnisse für die gesamte Lebensdauer der Workflowaufrufe aufbewahrt, also bis zu 24 Stunden, nachdem der Workflowaufruf abgelaufen oder gelöscht wurde.
Nächste Schritte
- Best Practices für den Codelebenszyklus in Dataform finden Sie unter Codelebenszyklus verwalten.
- Informationen zum Konfigurieren von Überschreibungen für die Kompilierung von Dataform-Arbeitsbereichen finden Sie unter Überschreibungen für die Kompilierung von Arbeitsbereichen erstellen.
- Informationen zum Konfigurieren eines einzelnen Kompilierungsergebnisses mit Dataform API-Kompilierungsüberschreibungen finden Sie unter Kompilierungsüberschreibungen mit der Dataform API konfigurieren.
- Informationen zum Erstellen von Dataform-Releasekonfigurationen finden Sie unter Releasekonfiguration erstellen.
- Informationen zum manuellen Auslösen der Ausführung in einem Arbeitsbereich finden Sie unter Ausführung auslösen.
- Informationen zum Erstellen von Workflowkonfigurationen finden Sie unter Ausführungen mit Workflowkonfigurationen planen.