Zusätzliche Aktionen konfigurieren

Dieses Dokument enthält Anleitungen für folgende Aufgaben:

Hinweis

  1. Rufen Sie in der Google Cloud Console die Seite Dataform auf.

    Zu Dataform

  2. Wählen Sie ein Repository aus oder erstellen Sie eines.

  3. Wählen Sie einen Entwicklungsarbeitsbereich aus oder erstellen Sie einen.

  4. Tabelle erstellen

  5. Definieren Sie eine SQLX-Datei eines der folgenden Typen:

Erforderliche Rollen

Bitten Sie Ihren Administrator, Ihnen die folgenden IAM-Rollen zuzuweisen, um die Berechtigungen zu erhalten, die Sie zum Ausführen der Aufgaben in diesem Dokument benötigen:

  • Dataform-Bearbeiter (roles/dataform.editor) für den Arbeitsbereich
  • So synchronisieren Sie Metadaten mit Knowledge Catalog: Dataplex Catalog Editor (roles/dataplex.catalogEditor) für das Projekt oder die @bigquery-Eintragsgruppe

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 ein 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 pre_operations-Block in der SQLX-Datei für die Tabellendefinition hinzu.

So erstellen Sie eine benutzerdefinierte SQL-Anweisung, die ausgeführt wird, bevor Dataform eine bestimmte Tabelle erstellt:

  1. Rufen Sie Ihren Entwicklungsarbeitsbereich auf.
  2. Maximieren Sie im Bereich Dateien die Option definitions/.
  3. Öffnen Sie eine SQLX-Datei mit einer Tabellendefinition.
  4. Geben Sie außerhalb des config-Blocks pre_operations { ... } ein.
  5. Fügen Sie Ihre SQL-Anweisung in pre_operations { ... } ein.
  6. Optional: Wenn Sie mehrere Anweisungen hinzufügen möchten, trennen Sie sie durch ---.
  7. 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 nach dem Erstellen einer ausgewählten Tabelle in BigQuery ein oder mehrere SQL-Anweisungen ausgeführt werden. Wenn Sie eine SQL-Anweisung ausführen möchten, nachdem Dataform eine ausgewählte Tabelle erstellt hat, fügen Sie die Anweisung dem post_operations-Block in der SQLX-Datei für die Tabellendefinition hinzu. Sie können dem post_operations-Block mehrere SQL-Anweisungen hinzufügen.

So erstellen Sie eine benutzerdefinierte SQL-Anweisung, die ausgeführt wird, nachdem Dataform eine bestimmte Tabelle erstellt hat:

  1. Rufen Sie Ihren Entwicklungsarbeitsbereich auf.
  2. Maximieren Sie im Bereich Dateien die Option definitions/.
  3. Öffnen Sie eine SQLX-Datei mit einer Tabellendefinition.
  4. Geben Sie außerhalb des config-Blocks post_operations { ... } ein.
  5. Fügen Sie Ihre SQL-Anweisung in post_operations { ... } ein.
  6. 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"
  }

Automatisierte Metadatenanreicherung

Dataform unterstützt die automatische Metadatenanreicherung für BigQuery-Tabellen und -Ansichten, die mit SQLX-Workflows erstellt wurden. Wenn eine Tabellenaktion erfolgreich abgeschlossen wird, versucht Dataform, die definierten Metadaten in den entsprechenden Knowledge Catalog-Eintrag zu schreiben. Dieser Prozess ist auf folgende Weise von der SQL-Ausführung entkoppelt:

  • Latenz: Die Synchronisierung erfolgt asynchron. Das bedeutet, dass Ihre BigQuery-Jobs nicht darauf warten, dass das Knowledge Catalog-Update abgeschlossen ist.
  • Zuverlässigkeit: Wenn die Synchronisierung fehlschlägt (z. B. aufgrund von API-Ratenbeschränkungen), versucht Dataform automatisch, die Aktualisierung noch einmal auszuführen. Ein fehlgeschlagenes Metadaten-Update führt nicht dazu, dass Ihre Dataform-Aktion oder Ihr Workflow fehlschlägt.

Das folgende Codebeispiel zeigt, wie Sie Metadaten für den Knowledge Catalog im Konfigurationsblock einer SQLX-Datei definieren:

config {
  type: "table",
  metadata: {
    overview: "This table provides standardized trip data.",
    extraProperties: {
      generic: {
        system: "BigQuery",
        type: "table"
      }
    }
  }
}

Wenn Sie den Status einer Metadatenaktualisierung prüfen möchten, folgen Sie der Anleitung unter Arbeitsbereich-Ausführungsprotokolle prüfen.

Wenn Sie die angereicherten Metadaten aufrufen möchten, können Sie in Knowledge Catalog nach Ihren BigQuery-Tabellen und ‑Ansichten suchen. Weitere Informationen finden Sie unter Nach Ressourcen suchen.

Tabellenerstellung deaktivieren

Wenn Sie verhindern möchten, dass Dataform eine ausgewählte Tabelle in BigQuery erstellt, können Sie die Tabelle in der entsprechenden SQLX-Tabellendefinitionsdatei deaktivieren. In Dataform wird eine deaktivierte Tabelle im Abhängigkeitsdiagramm beibehalten, sie wird aber nicht kompiliert und erstellt. Das kann beispielsweise nützlich sein, wenn eine Tabelle fehlschlägt und Sie nicht möchten, dass Ihr gesamter Workflow fehlschlägt, während Sie das Problem beheben.

So deaktivieren Sie eine Tabelle:

  1. Rufen Sie Ihren Entwicklungsarbeitsbereich auf.
  2. Maximieren Sie im Bereich Dateien die Option definitions/.
  3. Wählen Sie eine SQLX-Tabellendefinitionsdatei aus.
  4. Geben Sie im config-Block der Datei disabled: true ein.
  5. Optional: Klicken Sie auf Formatieren.

Das folgende Codebeispiel zeigt eine deaktivierte Tabelle:

config {
  type: "table",
  disabled: true
}

select * from ${ref("source_data")}

Ausführungs-Tags hinzufügen

In diesem Abschnitt wird beschrieben, wie Sie Dataform Core-SQLX-Dateien Tags hinzufügen, um Ihren Workflow zu kategorisieren.

Wenn Sie die Komponenten Ihres Workflows in Sammlungen organisieren möchten, können Sie den SQLX-Dateien der folgenden Typen benutzerdefinierte Tags hinzufügen:

  • table
  • view
  • incremental
  • assertion
  • operations

Während der Ausführung eines Workflows 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, mit dem ein Dataform-Workflow mit einem ausgewählten Tag in einem bestimmten Intervall ausgeführt wird.

Tag hinzufügen

Sie können einer SQLX-Datei mehrere Tags hinzufügen.

So fügen Sie einer SQLX-Datei ein Tag hinzu:

  1. Rufen Sie Ihren Entwicklungsarbeitsbereich auf.
  2. Maximieren Sie im Bereich Dateien die Option definitions/.
  3. Wählen Sie eine SQLX-Datei aus.
  4. Fügen Sie im Block config ein Tag im folgenden Format hinzu:

    tags: ["CUSTOM_TAG"]
    

    Ersetzen Sie CUSTOM_TAG durch Ihr Tag.

  5. Optional: Wenn Sie mehrere Tags hinzufügen möchten, trennen Sie sie durch ein Komma (,).

  6. Optional: Klicken Sie auf Formatieren.

Das folgende Codebeispiel zeigt die user_counts-Ansicht mit den Tags daily und hourly:

config {
  type: "view",
  name: "user_counts",
  tags: ["daily", "hourly"]
}

Nächste Schritte