Dieses Dokument enthält Anleitungen für folgende Aufgaben:
- SQL-Anweisung definieren, die vor der Tabellenerstellung ausgeführt werden soll.
- SQL-Anweisung definieren, die nach der Tabellenerstellung ausgeführt werden soll.
- Tabellenerstellung deaktivieren.
- Ausführungstags hinzufügen.
Hinweis
Rufen Sie in der Google Cloud Console die Seite Dataform auf.
Wählen Sie ein Repository aus oder erstellen Sie eines.
Wählen Sie einen Entwicklungsarbeitsbereich aus oder erstellen Sie einen.
Definieren Sie eine SQLX-Datei eines der folgenden Typen:
Erforderliche Rollen
Bitten Sie Ihren Administrator, Ihnen die IAM-Rolle Dataform Editor (roles/dataform.editor) für Arbeitsbereiche zu gewähren, um die Berechtigungen zu erhalten, die Sie für die Durchführung der Aufgaben in diesem Dokument benötigen.
Weitere Informationen zum Zuweisen von Rollen finden Sie unter Zugriff auf Projekte, Ordner und Organisationen verwalten.
Sie können die erforderlichen Berechtigungen auch über benutzerdefinierte Rollen oder andere vordefinierte Rollen erhalten.
SQL-Anweisung definieren, die vor der Tabellenerstellung ausgeführt werden soll
Sie können Dataform so konfigurieren, dass eine oder mehrere SQL-Anweisungen ausgeführt werden, bevor eine ausgewählte Tabelle in BigQuery erstellt wird. Wenn Sie eine SQL-Anweisung ausführen möchten, bevor Dataform eine ausgewählte Tabelle erstellt, fügen Sie die Anweisung dem Block pre_operations in der SQLX-Datei der Tabellendefinition hinzu.
So erstellen Sie eine benutzerdefinierte SQL-Anweisung, die ausgeführt wird, bevor Dataform eine bestimmte Tabelle erstellt:
- Rufen Sie Ihren Entwicklungsarbeitsbereich auf.
- Maximieren Sie im Bereich Dateien
definitions/. - Öffnen Sie eine SQLX-Datei der Tabellendefinition.
- Geben Sie außerhalb des Blocks
configdie Anweisungpre_operations { ... }ein. - Fügen Sie innerhalb von
pre_operations { ... }Ihre SQL-Anweisung hinzu. - Optional: Wenn Sie mehrere Anweisungen hinzufügen möchten, trennen Sie sie mit
---. - Optional: Klicken Sie auf Formatieren.
Das folgende Codebeispiel zeigt eine pre_operations-Anweisung, mit der eine temporäre Funktion erstellt wird, die in der SELECT-Anweisung verwendet werden kann:
pre_operations {
CREATE TEMP FUNCTION AddFourAndDivide(x INT64, y INT64)
RETURNS FLOAT64
AS ((x + 4) / y);
}
SQL-Anweisung definieren, die nach der Tabellenerstellung ausgeführt werden soll
Sie können Dataform so konfigurieren, dass eine oder mehrere SQL-Anweisungen ausgeführt werden, nachdem eine ausgewählte Tabelle in BigQuery erstellt wurde. Wenn Sie eine SQL-Anweisung ausführen möchten, nachdem Dataform eine ausgewählte Tabelle erstellt hat, fügen Sie die Anweisung dem Block post_operations in der SQLX-Datei der Tabellendefinition hinzu. Sie können dem Block post_operations mehrere SQL-Anweisungen hinzufügen.
So erstellen Sie eine benutzerdefinierte SQL-Anweisung, die ausgeführt wird, nachdem Dataform eine bestimmte Tabelle erstellt hat:
- Rufen Sie Ihren Entwicklungsarbeitsbereich auf.
- Maximieren Sie im Bereich Dateien
definitions/. - Öffnen Sie eine SQLX-Datei der Tabellendefinition.
- Geben Sie außerhalb des Blocks
configdie Anweisungpost_operations { ... }ein. - Fügen Sie innerhalb von
post_operations { ... }Ihre SQL-Anweisung hinzu. - Optional: Klicken Sie auf Formatieren.
Das folgende Codebeispiel zeigt post_operations-Anweisungen, mit denen Gruppen Zugriff auf die erstellte Tabelle gewährt wird:
post_operations {
GRANT `roles/bigquery.dataViewer`
ON
TABLE ${self()}
TO "group:allusers@example.com", "user:otheruser@example.com"
}
Tabellenerstellung deaktivieren
Wenn Sie verhindern möchten, dass Dataform eine ausgewählte Tabelle in BigQuery erstellt, können Sie die Tabelle in der SQLX-Datei der Tabellendefinition deaktivieren. Dataform behält eine deaktivierte Tabelle im Abhängigkeitsdiagramm bei, kompiliert und erstellt sie aber nicht. Das kann beispielsweise nützlich sein, wenn eine Tabelle fehlschlägt und Sie nicht möchten, dass der gesamte Workflow fehlschlägt, während Sie das Problem beheben.
So deaktivieren Sie eine Tabelle:
- Rufen Sie Ihren Entwicklungsarbeitsbereich auf.
- Maximieren Sie im Bereich Dateien
definitions/. - Wählen Sie eine SQLX-Datei der Tabellendefinition aus.
- Geben Sie im Block
configder Dateidisabled: trueein. - Optional: Klicken Sie auf Formatieren.
Das folgende Codebeispiel zeigt eine deaktivierte Tabelle:
config {
type: "table",
disabled: true
}
select * from ${ref("source_data")}
Ausführungstags hinzufügen
Wenn Sie die Komponenten Ihres Workflows in Sammlungen organisieren möchten, können Sie SQLX-Dateien der folgenden Typen benutzerdefinierte Tags hinzufügen:
tableviewincrementalassertionoperations
Während einer Workflowausführung können Sie nur Dateien mit einem ausgewählten Tag ausführen.
Mit Managed Service for Apache Airflow oder Workflows zusammen mit Cloud Scheduler, können Sie einen Zeitplan erstellen, der einen Dataform-Workflow mit einem ausgewählten Tag in einem bestimmten Intervall ausführt.
Tag hinzufügen
Sie können einer SQLX-Datei mehrere Tags hinzufügen.
So fügen Sie einer SQLX-Datei ein Tag hinzu:
- Rufen Sie Ihren Entwicklungsarbeitsbereich auf.
- Maximieren Sie im Bereich Dateien
definitions/. - Wählen Sie eine SQLX-Datei aus.
Fügen Sie im Block
configein Tag im folgenden Format hinzu:tags: ["CUSTOM_TAG"]Ersetzen Sie
CUSTOM_TAGdurch Ihr Tag.Optional: Wenn Sie mehrere Tags hinzufügen möchten, trennen Sie sie durch ein Komma (
,).Optional: Klicken Sie auf Formatieren.
Das folgende Codebeispiel zeigt die Ansicht user_counts mit den Tags daily und hourly:
config {
type: "view",
name: "user_counts",
tags: ["daily", "hourly"]
}
Nächste Schritte
- Informationen zum Konfigurieren von Dataform-Einstellungen in
workflow_settings.yamlfinden Sie unter Dataform-Workflow-Einstellungen konfigurieren. - Informationen zum Testen von Tabellendaten mit Zusicherungen finden Sie unter Datenqualität testen.
- Informationen zum Wiederverwenden von Code mit Includes finden Sie unter Code in einem einzelnen Repository mit Includes wiederverwenden.
- Informationen zum manuellen Auslösen von Ausführungen finden Sie unter Ausführungen manuell auslösen.
- Informationen zum Hinzufügen von BigQuery-Richtlinientags in Dataform finden Sie unter Zugriff auf Spalten steuern.