Заметка
Доступ к этой странице требует авторизации. Вы можете попробовать войти в систему или изменить каталог.
Доступ к этой странице требует авторизации. Вы можете попробовать сменить директорию.
Эта страница содержит справочную документацию по Python для ожиданий конвейера.
Декораторы ожиданий устанавливают ограничения на качество данных для материализованных представлений, потоковых таблиц или временных представлений, создаваемых в конвейере.
Модуль dp включает шесть декораторов для управления поведением ожиданий. В следующей таблице описываются измерения, в которых отличаются эти перемыкания:
| Поведение | Options |
|---|---|
| Действие по нарушению |
|
| Количество ожиданий | Одно ожидание или несколько ожиданий. |
Вы можете добавить несколько декораторов ожиданий в наборы данных, что обеспечивает гибкость в установке ограничений на качество данных.
При использовании expect_all декораторов каждое ожидание имеет собственное описание и предоставляет детализированные метрики.
Синтаксис
Декораторы ожиданий приходят после декоратора @dp.table(), @dp.materialized_view или @dp.temporary_view() и перед функцией определения набора данных, как показано в следующем примере:
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>)
Параметры
| Параметр | Тип | Description |
|---|---|---|
description |
str |
Обязательное. Описание, определяющее ограничение. Описания ограничений должны быть уникальными для каждого набора данных. |
constraint |
str |
Обязательное. Предложение ограничения — это условное выражение SQL, которое должно возвращать true или false для каждой записи. Ограничение содержит фактическую логику для проверяемого объекта. Если запись завершается ошибкой этого условия, ожидания активируются. |
Декораторы expect_all требуют, чтобы описания и ограничения передавались в виде dict пар "ключ-значение".