Compartilhar via


Expectations

Esta página contém as expectativas de pipeline documentadas como referência em Python.

Os decoradores de expectativa declaram restrições de qualidade de dados em exibições materializadas, tabelas de streaming ou exibições temporárias criadas em um pipeline.

O dp módulo 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 sobre violação
  • Inclua a linha no conjunto de dados de destino. A contagem de registros válidos e inválidos é registrada junto com outras métricas de conjunto de dados.
  • Remova a linha antes de gravar no conjunto de dados de destino. A contagem de registros descartados é registrada junto com outras métricas de conjunto de dados.
  • Interrompa imediatamente a atualização. Essa expectativa causa uma falha de um único fluxo e não faz com que outros fluxos no pipeline falhem.
Número de expectativas Uma única expectativa ou várias expectativas.

Você pode adicionar vários decoradores de expectativa aos seus conjuntos de dados, proporcionando flexibilidade na rigorosidade das suas restrições de qualidade de dados.

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

Sintaxe

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

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 Description
description str Obrigatório Uma descrição que identifica a restrição. As descrições de restrição devem ser exclusivas para cada conjunto de dados.
constraint str Obrigatório A cláusula de restrição é uma instrução condicional SQL que deve ser avaliada para true ou false para cada registro. A restrição contém a lógica real para o que está sendo validado. Quando um registro falha nessa condição, a expectativa é disparada.

Os decoradores expect_all exigem que descrições e restrições sejam passadas como dict pares de chave-valor.