Compartir vía


Expectations

Esta página contiene documentación de referencia de Python para las expectativas de canalización.

Los decoradores de expectativas declaran restricciones de calidad de datos en vistas materializadas, tablas de flujo o vistas temporales creadas en un pipeline.

El dp módulo incluye seis decoradores para controlar el comportamiento de las expectativas. En la tabla siguiente se describen las dimensiones en las que difieren estas permutaciones:

Comportamiento Options
Acción en caso de infracción
  • Incluya la fila en el conjunto de datos de destino. El recuento de registros válidos e no válidos se registra junto con otras métricas del conjunto de datos.
  • Elimine la fila antes de escribir en el conjunto de datos de destino. El recuento de registros descartados se registra junto con otras métricas del conjunto de datos.
  • Detenga inmediatamente la actualización. Esta expectativa provoca un error de un único flujo y no hace que se produzcan errores en otros flujos de la canalización.
Número de expectativas Una sola expectativa o varias expectativas.

Puede agregar varios decoradores de expectativas a los conjuntos de datos, proporcionando flexibilidad en la severidad de las restricciones de calidad de los datos.

Cuando se usan expect_all decoradores, cada expectativa tiene su propia descripción e informa sobre métricas pormenorizadas.

Syntax

Los decoradores de expectativas vienen después de un @dp.table(), @dp.materialized_view o @dp.temporary_view() decorador y antes de una función de definición de conjunto de datos, como se muestra en el siguiente ejemplo:

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 Obligatorio. Descripción que identifica la restricción. Las descripciones de restricciones deben ser únicas para cada conjunto de datos.
constraint str Obligatorio. La cláusula constraint es una instrucción condicional de SQL que debe evaluarse como true o false para cada registro. La restricción contiene la lógica real para lo que se está validando. Cuando se produce un error en el registro en esta condición, se desencadena la expectativa.

Los expect_all decoradores requieren que se pasen descripciones y restricciones como dict de pares clave-valor.