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:
- Google Cloud-Projekt
- Tabellenpräfix
- Schemasuffix
- Wert einer Kompilierungsvariable
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:
- Google Cloud-Projekt
- Tabellenpräfix
- Schemasuffix
- Wert einer Kompilierungsvariable
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
- Informationen zu Best Practices für den Codelebenszyklus in Dataform finden Sie unter Codelebenszyklus verwalten.
- Informationen zum Konfigurieren von Kompilierungsüberschreibungen für den Dataform-Arbeitsbereich finden Sie unter Kompilierungsüberschreibungen für Arbeitsbereiche erstellen.
- Informationen zum Konfigurieren eines einzelnen Kompilierungsergebnisses mit Kompilierungsüberschreibungen der Dataform API 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.