Partilhar via


Expectations

Esta página contém a documentação de referência do Python para as expectativas de sequência de processos (pipeline).

Os decoradores de expectativas declaram restrições de qualidade de dados em visões materializadas, tabelas de streaming ou visões temporárias criadas num pipeline.

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

Comportamento Opções
Ação por 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 do 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 do conjunto de dados.
  • Pare imediatamente a atualização. Essa expectativa causa uma falha de um único fluxo e não faz com que outros fluxos em seu pipeline falhem.
Número de expectativas Uma única expectativa ou múltiplas expectativas.

Você pode adicionar vários decoradores de expectativas aos seus conjuntos de dados, fornecendo flexibilidade no rigor para suas restrições de qualidade de dados.

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

Sintaxe

Os decoradores de expectativas vêm depois de um @dp.table(), @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 Required. Uma descrição que identifica a restrição. As descrições de restrição devem ser exclusivas para cada conjunto de dados.
constraint str Required. 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 é acionada.

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