Delen via


Expectations

Deze pagina bevat python-referentiedocumentatie voor pijplijnwachtingen.

Expectatiedecorators verklaren beperkingen op de gegevenskwaliteit voor gerealiseerde weergaven, streamingtabels of tijdelijke weergaven die in een pijplijn zijn gemaakt.

De dp module bevat zes decorators om het verwachtingsgedrag te controleren. In de volgende tabel worden de dimensies beschreven waarop deze permutaties verschillen:

Gedrag Options
Actie bij schending
  • Neem de rij op in de doelgegevensset. Het aantal geldige en ongeldige records wordt geregistreerd naast andere metrische gegevenssets.
  • Verwijder de rij voordat u naar de doeldataset schrijft. Het aantal gedropte records wordt geregistreerd naast andere datasetmetingen.
  • Stop de update onmiddellijk. Deze verwachting veroorzaakt een storing van één stroom en zorgt ervoor dat andere stromen in uw pijplijn niet mislukken.
Aantal verwachtingen Eén verwachting of meerdere verwachtingen.

U kunt meerdere verwachtingsdecorators toevoegen aan uw datasets, waardoor u flexibiliteit hebt in de strengheid van uw gegevenskwaliteitsbeperkingen.

Wanneer u expect_all decorators gebruikt, heeft elke verwachting een eigen beschrijving en rapporteert gedetailleerde statistieken.

Syntaxis

Expectation decorators komen na een @dp.table(), @dp.materialized_view of @dp.temporary_view() decorator en vóór een functie voor het definiëren van een gegevensset, zoals in het volgende voorbeeld.

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>)

Parameterwaarden

Kenmerk Typologie Description
description str Verplicht. Een beschrijving die de beperking identificeert. Beschrijvingen van beperkingen moeten uniek zijn voor elke gegevensset.
constraint str Verplicht. De beperkingsclausule is een voorwaardelijke SQL-instructie die voor elk record moet evalueren naar true of false. De beperking bevat de werkelijke logica voor wat wordt gevalideerd. Wanneer een record deze voorwaarde mislukt, wordt de verwachting geactiveerd.

Voor de expect_all decorators moeten beschrijvingen en beperkingen worden doorgegeven in de vorm van sleutel-waardeparen dict.