Dela via


Expectations

Den här sidan innehåller Python-referensdokumentation för Lakeflows förväntningar på deklarativa pipelines.

Förväntningsdekorationer deklarerar datakvalitetsbegränsningar för materialiserade vyer, strömmande tabeller eller tillfälliga vyer som skapas i Lakeflow's deklarativa pipelines.

Modulen dp innehåller sex dekoratörer för att kontrollera förväntningarnas beteende. I följande tabell beskrivs de dimensioner där dessa permutationer skiljer sig åt:

Beteende Options
Åtgärd vid överträdelse
  • Inkludera raden i måldatauppsättningen. Antalet giltiga och ogiltiga poster loggas tillsammans med andra datamängdsmått.
  • Släpp raden innan du skriver till måldatauppsättningen. Antalet borttagna poster loggas tillsammans med andra datamängdsmått.
  • Stoppa omedelbart uppdateringen. Den här förväntan orsakar ett fel i ett enda flöde och orsakar inte att andra flöden i pipelinen misslyckas.
Antal förväntningar En enda förväntan eller flera förväntningar.

Du kan lägga till flera förväntningsdekorationer i dina datauppsättningar, vilket ger flexibilitet i hur strikta dina datakvalitetsbegränsningar är.

När du använder expect_all dekoratörer har varje förväntan sin egen beskrivning och rapporterar detaljerade mått.

Syntax

Förväntansdekoratörer kommer efter en @dp.table(), @dp.materialized_view eller @dp.temporary_view() dekoratör och före en funktion för datamängdsdefinition, som i följande exempel:

from pyspark import pipelines as dp

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

Parameterar

Parameter Typ Description
description str Obligatoriskt. En beskrivning som identifierar villkoret. Villkorsbeskrivningar måste vara unika för varje datauppsättning.
constraint str Obligatoriskt. Begränsningsvillkoret är en SQL-villkorssats som måste utvärderas till true eller false för varje post. Villkoret innehåller den faktiska logiken för det som verifieras. När en post misslyckas med det här villkoret utlöses förväntningarna.

Dekoratörerna expect_all kräver att beskrivningar och begränsningar skickas som en samling av nyckel-värde-par dict.