Freigeben über


Erwartungshaltung

Diese Seite enthält die Python-Referenzdokumentation zu den Erwartungen der Lakeflow Declarative Pipelines.

Erwartungsdekorationen definieren Datenqualitätsanforderungen für materialisierte Ansichten, Streamingtabellen oder temporäre Ansichten, die in Lakeflow Deklarative Pipelines erstellt wurden.

Das dlt-Modul enthält sechs Decorators, um das Verhalten der Erwartungen zu steuern. In der folgenden Tabelle werden die Dimensionen beschrieben, auf denen sich diese Permutationen unterscheiden:

Verhalten Optionen
Maßnahmen bei Verstoß
  • Fügen Sie die Zeile in das Ziel-Dataset ein. Die Anzahl der gültigen und ungültigen Datensätze wird zusammen mit anderen Datasetmetriken protokolliert.
  • Entfernen Sie die Zeile, bevor Sie in den Ziel-Datensatz schreiben. Die Anzahl der verworfenen Datensätze wird zusammen mit anderen Datasetmetriken protokolliert.
  • Beenden Sie das Update sofort. Diese Erwartung verursacht einen Fehler eines einzelnen Flusses und führt nicht dazu, dass andere Flüsse in Ihrer Pipeline fehlschlagen.
Anzahl der Erwartungen Eine einzelne Erwartung oder mehrere Erwartungen.

Sie können Ihren Datasets mehrere Erwartungsdecorators hinzufügen, um Flexibilität bei der Strenge Ihrer Datenqualitätseinschränkungen zu bieten.

Wenn Sie expect_all-Decorators verwenden, verfügt jede Erwartung über eine eigene Beschreibung und meldet granulare Metriken.

Syntax

Erwartungsdecorators stehen nach einem @dlt.table()- oder @dlt.view()-Decorator und vor einer Datasetdefinitionsfunktion, wie im folgenden Beispiel gezeigt:

import dlt

@dlt.table()
@dlt.expect(description, constraint)
@dlt.expect_or_drop(description, constraint)
@dlt.expect_or_fail(description, constraint)
@dlt.expect_all({description: constraint, ...})
@dlt.expect_all_or_drop({description: constraint, ...})
@dlt.expect_all_or_fail({description: constraint, ...})
def <function-name>():
    return (<query>)

Parameter

Parameter Typ BESCHREIBUNG
description str Erforderlich. Eine Beschreibung, die die Einschränkung identifiziert. Einschränkungsbeschreibungen müssen für jedes Dataset eindeutig sein.
constraint str Erforderlich. Die Einschränkungsklausel ist eine SQL-bedingte Anweisung, die zu true oder false für jeden Datensatz ausgewertet werden muss. Die Einschränkung enthält die tatsächliche Logik für die Überprüfung. Wenn ein Datensatz diese Bedingung nicht erfüllt, wird die Erwartung ausgelöst.

Für die expect_all-Decorators sind Beschreibungen und Einschränkungen erforderlich, die als dict von Schlüsselwertpaaren übergeben werden.