Pular para o conteúdo principal

As expectativas

Esta página contém a documentação de referência do Python para as expectativas da DLT.

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 em DLT.

O módulo dlt 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

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

Número de expectativas

Uma única expectativa ou várias expectativas.

O senhor pode adicionar vários decoradores de expectativa ao seu conjunto de dados, proporcionando flexibilidade no rigor das restrições de qualidade dos dados.

Quando o senhor usa os decoradores do expect_all, cada expectativa tem sua própria descrição e informa métricas granulares.

Sintaxe

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

Python
import dlt

@dlt.table()
@dlt.expect(description, constraint)
@dlt.expect_or_drop(description, constraint)
@dlt.expect_or_fail(description, constraint)
@dlt.expect_all({description: constraint, ...})
@dlt.expect_all_or_drop({description: constraint, ...})
@dlt.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 as descrições e restrições sejam passadas como um dict de par key-value.