Pular para o conteúdo principal

Expectativas

Esta página contém documentação de referência Python para expectativas de pipeline declarativo LakeFlow .

Os decoradores de expectativa declaram restrições de qualidade de dados em visualizações materializadas, tabelas de transmissão ou visualizações temporárias criadas no pipeline declarativo LakeFlow .

O módulo dp inclui seis decoradores para controlar o comportamento das expectativas. A tabela a seguir descreve as dimensões nas quais essas permutações diferem:

Comportamento

Opções

Ação em caso de violação

  • Incluir a linha no dataset de destino. A contagem de registros válidos e inválidos é registrada juntamente com outras métricas dataset .
  • Exclua a linha antes de gravar no dataset de destino. A contagem de registros descartados é registrada juntamente com outras métricas dataset .
  • Pare a atualização imediatamente. Essa expectativa causa falha em um único fluxo e não causa falha em outros fluxos no seu pipeline.

Número de expectativas

Uma única expectativa ou múltiplas expectativas.

Você pode adicionar vários decoradores de expectativa ao seu conjunto de dados, proporcionando flexibilidade na rigidez das suas restrições de qualidade de dados.

Quando você usa decoradores expect_all , cada expectativa tem sua própria descrição e relata métricas granulares.

Sintaxe

Os decoradores de expectativa vêm depois de um decorador @dp.table(), @dp.materialized_view ou @dp.temporary_view() e antes de uma função de definição dataset , como no exemplo a seguir:

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

Parâmetros

Parâmetro

Tipo

Descrição

description

str

Obrigatório. Uma descrição que identifica a restrição. As descrições de restrições devem ser exclusivas para cada dataset.

constraint

str

Obrigatório. A cláusula de restrição é uma instrução condicional SQL que deve ser avaliada como true ou false para cada registro. A restrição contém a lógica real do que está sendo validado. Quando um registro falha nessa condição, a expectativa é acionada.

Os decoradores expect_all exigem que descrições e restrições sejam passadas como um dict de par key-value.