Abhängigkeiten deklarieren

In diesem Dokument erfahren Sie, wie Sie die Beziehung zwischen Objekten in Ihrem SQL-Workflow in Dataform durch Deklarieren von Abhängigkeiten

Sie können eine Abhängigkeitsbeziehung zwischen Objekten eines SQL-Workflows definieren. In einer Abhängigkeitsbeziehung hängt die Ausführung des abhängigen Objekts von die Ausführung des Abhängigkeitsobjekts. Das bedeutet, dass Dataform führt die Abhängige nach der Abhängigkeit aus. Sie definieren die Beziehung durch Sie deklarieren Abhängigkeiten in der SQLX-Definitionsdatei des abhängigen Objekts.

Die Abhängigkeitsdeklarationen bilden eine Abhängigkeitsstruktur Ihres SQL-Workflows die die Reihenfolge bestimmt, in der Dataform Ihre SQL-Workflow-Objekte.

Sie können die Abhängigkeitsbeziehung zwischen Folgendem definieren: SQL-Workflow-Objekte:

Datenquellendeklarationen
Angaben zu BigQuery-Datenquellen, damit Sie darauf verweisen können Datenquellen in Dataform-Tabellendefinitionen und SQL-Vorgängen. Sie können eine Datenquellendeklaration als Abhängigkeit, aber nicht als abhängige festlegen.
Tables
Tabellen, die Sie in Dataform basierend auf den deklarierten Daten erstellen oder andere Tabellen in Ihrem SQL-Workflow. Dataform unterstützt die folgenden Tabellentypen: Tabelle, inkrementelle Tabelle, Ansicht und materialisierte Ansicht. Sie können eine Tabelle als Abhängigkeit und als abhängige Tabelle festlegen.
Benutzerdefinierte SQL-Vorgänge
SQL-Anweisungen, die Dataform in BigQuery unverändert ausführt, unverändert lassen. Sie können einen benutzerdefinierten SQL-Vorgang festlegen, der in einem type: operations-Datei als Abhängigkeit und als abhängige Datei. So deklarieren Sie einen benutzerdefinierten SQL-Vorgang als Abhängigkeit in der Funktion ref ausführen, müssen Sie Legen Sie die Eigenschaft hasOutput auf true fest. in der SQLX-Definitionsdatei des benutzerdefinierten SQL-Vorgangs.
Assertions
Abfragen zur Datenqualitätstest, mit denen Sie Tabellendaten testen können Dataform führt bei jeder Aktualisierung Ihres SQL-Workflows Sie werden benachrichtigt, wenn Assertions fehlschlagen. Sie können eine Assertion festlegen, die in einem type: assertion-Datei durch Deklaration als Abhängigkeit und als abhängige Datei Abhängigkeiten im config-Block.

Sie können die Abhängigkeitsbeziehung auf folgende Arten definieren:

Hinweise

  1. Erstellen und initialisieren Sie einen Entwicklungsarbeitsbereich in Ihrem Repository.
  2. Optional: Deklarieren Sie eine Datenquelle.
  3. Erstellen Sie mindestens zwei SQL-Workflow-Objekte: Tabellen Assertions Datenquellendeklarationen, oder Operations.

Erforderliche Rollen

Um die Berechtigungen zu erhalten, die Sie zum Deklarieren von Abhängigkeiten für Tabellen, Assertions und Datenquellen benötigen Deklarationen und benutzerdefinierten SQL-Operationen. bitten Sie Ihren Administrator, Ihnen IAM-Rolle Dataform Editor (roles/dataform.editor) für Arbeitsbereiche. Weitere Informationen zum Zuweisen von Rollen finden Sie unter Zugriff verwalten.

Sie können die erforderlichen Berechtigungen auch über benutzerdefinierte Rollen oder andere vordefinierte Rollen erhalten.

Deklarieren Sie eine Abhängigkeit als Argument der Funktion ref

Um in einer SELECT-Anweisung auf eine Abhängigkeit zu verweisen und diese automatisch zu deklarieren, Fügen Sie die Abhängigkeit als Argument der Funktion ref hinzu.

Die Funktion ref ist eine integrierte Dataform-Kernfunktion, mit der Sie Verweisen und sind automatisch von einer Tabelle, Datenquellendeklaration oder Benutzerdefinierter SQL-Vorgang mit der Eigenschaft hasOutput, die auf true festgelegt ist in Ihrem SQL-Workflow.

Weitere Informationen zur Funktion ref finden Sie unter Referenz zu Kernkontextmethoden von Dataform.

Weitere Informationen zur Verwendung der Funktion ref in einer Tabellendefinition finden Sie unter Tabellendefinitionen

Im folgenden Codebeispiel wird die Datenquellendeklaration „source_data“ hinzugefügt als Argument der Funktion ref in der incremental_table.sqlx-SQLX-Funktion Definitionsdatei einer inkrementellen Tabelle:

// filename is incremental_table.sqlx

config { type: "incremental" }

SELECT * FROM ${ref("source_data")}

Im vorherigen Codebeispiel wird source_data automatisch als Abhängigkeit von incremental_table.

Im folgenden Codebeispiel wird gezeigt, wie die SQLX-Datei zur Tabellendefinition some_table hinzugefügt wurde. als Argument der Funktion ref im custom_assertion.sqlx SQLX-Definitionsdatei einer Assertion:

// filename is custom_assertion.sqlx

config { type: "assertion" }

SELECT
  *
FROM
  ${ref("some_table")}
WHERE
  a is null
  or b is null
  or c is null

Im vorherigen Codebeispiel wird some_table automatisch als Abhängigkeit von custom_assertion. Während der Ausführung führt Dataform some_table und führt dann custom_assertion aus, sobald some_table erstellt wurde.

Abhängigkeiten im Block config deklarieren

Deklarieren von Abhängigkeiten, auf die in der Definition der SQL-Anweisung nicht verwiesen wird die jedoch vor der Tabelle, der Assertion oder der benutzerdefinierten SQL-Vorgang ausführen, gehen Sie folgendermaßen vor:

  1. Maximieren Sie im Entwicklungsarbeitsbereich im Bereich Dateien das Verzeichnis definitions/.
  2. Wählen Sie die SQLX-Datei der Tabelle, Assertion oder des benutzerdefinierten SQL-Vorgangs aus, die Sie bearbeiten möchten.
  3. Geben Sie im Block config der Datei das folgende Code-Snippet ein:

    dependencies: [ "DEPENDENCY", ]
    

    Ersetzen Sie DEPENDENCY durch den Dateinamen der Tabelle, Assertion, Datenquellendeklaration oder benutzerdefinierten SQL-Vorgang an, den Sie als Abhängigkeit hinzufügen möchten. Sie können mehrere, durch Kommas getrennte Dateinamen eingeben.

  4. Optional: Klicken Sie auf Format.

Das folgende Codebeispiel zeigt die Tabelle some_table und some_assertion Assertion als Abhängigkeiten zum Block config einer Tabellendefinitionsdatei hinzugefügt:

config { dependencies: [ "some_table", "some_assertion" ] }

Nächste Schritte