Dataform ist ein serverloser Dienst für Datenanalysten zum Entwickeln und Bereitstellen von Tabellen, inkrementellen Tabellen oder Ansichten in BigQuery. Dataform bietet eine Webumgebung für die Entwicklung von SQL-Workflows, Verbindung mit GitHub, GitLab, Azure DevOps Services und Bitbucket sowie für Continuous Integration, Continuous Deployment und Workflowausführung.
Repositories
Jedes Dataform-Projekt wird in einem Repository gespeichert. Ein Dataform-Repository enthält eine Sammlung von JSON-Konfigurationsdateien, SQLX-Dateien und JavaScript-Dateien.
Dataform-Repositories enthalten die folgenden Dateitypen:
Konfigurationsdateien
Mit Config JSON- oder SQLX-Dateien können Sie Ihre SQL-Workflows konfigurieren. Sie enthalten allgemeine Konfigurationspläne, Ausführungspläne oder Schemas zum Erstellen neuer Tabellen und Ansichten.
Definitionen
Definitionen sind SQLX- und JavaScript-Dateien, mit denen neue Tabellen, Ansichten und zusätzliche SQL-Vorgänge definiert werden, die in BigQuery ausgeführt werden sollen.
Umfasst
Includes (Einschließen) sind JavaScript-Dateien, in denen Sie Variablen und Funktionen für Ihr Projekt definieren können.
Jedes Dataform-Repository ist mit einem Dienstkonto verbunden. Sie können ein Dienstkonto auswählen, wenn Sie ein Repository erstellen oder das Dienstkonto später bearbeiten.
Standardmäßig verwendet Dataform ein Dienstkonto, das von Ihrer Projektnummer im folgenden Format abgeleitet wird:
service-YOUR_PROJECT_NUMBER@gcp-sa-dataform.iam.gserviceaccount.com
Versionsverwaltung
Dataform verwendet das Git-Versionsverwaltungssystem, um jede an Projektdateien vorgenommene Änderung zu dokumentieren und Dateiversionen zu verwalten.
Jedes Dataform-Repository kann ein eigenes Git-Repository verwalten oder mit einem externen Git-Repository von Drittanbietern verbunden werden. Sie können ein Dataform-Repository mit einem GitHub-, GitLab-, Azure DevOps Services- oder Bitbucket-Repository verbinden.
Nutzer in Dataform-Arbeitsbereichen verwalten ihren SQL-Workflowcode. In einem Dataform-Arbeitsbereich können Sie Änderungen aus dem Repository abrufen, für alle oder ausgewählte Änderungen einen Commit durchführen und sie per Push an Git-Zweige des Repositorys übertragen.
Workflowentwicklung
In Dataform nehmen Sie Änderungen an Dateien und Verzeichnissen in einem Entwicklungsarbeitsbereich vor. Ein Entwicklungsarbeitsbereich ist eine virtuelle, bearbeitbare Kopie des Inhalts eines Git-Repositorys. Dataform behält den Status der Dateien zwischen Sitzungen im Entwicklungsarbeitsbereich bei.
In einem Entwicklungsarbeitsbereich können Sie SQL-Workflowaktionen entwickeln, indem Sie Dataform Core mit SQLX und JavaScript oder ausschließlich mit JavaScript verwenden. Sie können Ihren Dataform Core- oder JavaScript-Code automatisch formatieren.
Jedes Element eines Dataform-SQL-Workflows, z. B. eine Tabelle oder Assertion, entspricht einer Aktion, die Dataform in BigQuery ausführt. Eine Tabellendefinitionsdatei ist beispielsweise eine Aktion zum Erstellen oder Aktualisieren der Tabelle in BigQuery.
In einem Dataform-Arbeitsbereich können Sie die folgenden SQL-Workflowaktionen entwickeln:
- Deklarationen für Quelldaten
- Tabellen und Ansichten
- Inkrementelle Tabellen
- Tabellenpartitionen und Cluster
- Abhängigkeiten zwischen Aktionen
- Dokumentation zu Tabellen
- Benutzerdefinierte SQL-Vorgänge
- BigQuery-Labels
- BigQuery-Richtlinien-Tags
- Dataform-Tags
- Datenqualitätstests, die als Assertions bezeichnet werden
Sie können JavaScript verwenden, um Ihren Dataform-SQL-Workflowcode auf folgende Arten wiederzuverwenden:
- Über eine Datei mit Codekapselung
- Aus einem Repository mit „Includes“
- In allen Repositories mit Paketen
Dataform kompiliert den SQL-Workflowcode in Ihrem Arbeitsbereich in Echtzeit. In Ihrem Arbeitsbereich können Sie die kompilierten Abfragen und Details zu Aktionen in jeder Datei ansehen. Sie können sich auch den Kompilierungsstatus und die Fehler in der bearbeiteten Datei oder im Repository ansehen.
Wenn Sie die Ausgabe einer kompilierten SQL-Abfrage testen möchten, bevor Sie sie in BigQuery ausführen, können Sie in Ihrem Dataform-Arbeitsbereich eine Vorschau der Abfrage ausführen.
Wenn Sie den gesamten in Ihrem Arbeitsbereich definierten SQL-Workflow untersuchen möchten, können Sie ein interaktives kompiliertes Diagramm aufrufen, das alle kompilierten Aktionen in Ihrem SQL-Workflow und die Beziehungen zwischen ihnen zeigt.
Workflow-Kompilierung
Dataform verwendet die in der Workfloweinstellungsdatei konfigurierten Standardkompilierungseinstellungen, um den SQL-Workflowcode in Ihrem Arbeitsbereich in Echtzeit zu SQL zu kompilieren und ein Kompilierungsergebnis des Arbeitsbereichs zu erstellen.
Sie können die Kompilierungseinstellungen überschreiben, um anzupassen, wie Dataform Ihren SQL-Workflow zu einem Kompilierungsergebnis kompiliert.
Mit Überschreibungen von Arbeitsbereichskompilierungen können Sie Kompilierungsüberschreibungen für alle Arbeitsbereiche in einem Repository konfigurieren. Sie können dynamische Arbeitsbereichsüberschreibungen festlegen, um für jeden Arbeitsbereich benutzerdefinierte Kompilierungsergebnisse zu erstellen und Arbeitsbereiche in isolierte Entwicklungsumgebungen zu verwandeln. Sie können das Google Cloud-Projekt überschreiben, in dem Dataform den Inhalt eines Arbeitsbereichs ausführt. Außerdem können Sie den Namen aller kompilierten Tabellen ein Präfix hinzufügen und dem Standardschema ein Suffix hinzufügen.
Mit Releasekonfigurationen können Sie Vorlagen mit Kompilierungseinstellungen konfigurieren, um Kompilierungsergebnisse eines Dataform-Repositorys zu erstellen. In einer Releasekonfiguration können Sie das Google Cloud-Projekt überschreiben, in dem Dataform die Kompilierungsergebnisse ausführt. Außerdem können Sie den Namen aller kompilierten Tabellen ein Präfix hinzufügen, das Standardschema mit einem Suffix versehen und Kompilierungsvariablen hinzufügen. Sie können auch die Häufigkeit der Erstellung von Kompilierungsergebnissen festlegen. Wenn Sie Ausführungen von Kompilierungsergebnissen planen möchten, die in einer ausgewählten Releasekonfiguration erstellt wurden, können Sie eine Workflowkonfiguration erstellen.
Workflowausführung
Während der Workflowausführung führt Dataform die Kompilierungsergebnisse von SQL-Workflows aus, um Assets in BigQuery zu erstellen oder zu aktualisieren.
Wenn Sie die in Ihrem SQL-Workflow in BigQuery definierten Tabellen und Ansichten erstellen oder aktualisieren möchten, können Sie in einem Entwicklungsarbeitsbereich manuell eine Workflowausführung starten oder Ausführungen planen.
Sie haben folgende Möglichkeiten, Dataform-Ausführungen in BigQuery zu planen:
- Workflowkonfigurationen erstellen, um Ausführungen von Kompilierungsergebnissen zu planen, die in Releasekonfigurationen erstellt wurden
- Ausführungen mit Cloud Composer planen
- Ausführungen mit Workflows und Cloud Scheduler planen
Zum Debuggen von Fehlern können Sie Ausführungen auf folgende Arten überwachen:
- Detaillierte Dataform-Ausführungsprotokolle ansehen
- Audit-Logs für Dataform ansehen
- Cloud Logging-Logs für Dataform ansehen
Nächste Schritte
- Weitere Informationen zu Dataform Core finden Sie unter Dataform Core.
- Weitere Informationen zu Dataform-Repositories finden Sie unter Einführung in Repositories.
- Weitere Informationen zu Dataform-Arbeitsbereichen finden Sie unter Einführung in die Entwicklung in einem Arbeitsbereich.
- Weitere Informationen zum Entwickeln von SQL-Workflows in Dataform finden Sie unter Einführung in SQL-Workflows.
- Weitere Informationen zur Verwendung von JavaScript in Dataform finden Sie unter Einführung in JavaScript in Dataform.
- Weitere Informationen zum Codelebenszyklus in Dataform finden Sie unter Einführung in den Codelebenszyklus in Dataform.