Как я могу применить ожидания ко всем столбцам таблицы в DLT?Python

Программы на Python
Ответить Пред. темаСлед. тема
Anonymous
 Как я могу применить ожидания ко всем столбцам таблицы в DLT?

Сообщение Anonymous »


Я видел руководства и статьи повсюду, где они посвящены использованию ожиданий качества данных DLT для нескольких столбцов таблицы. Ниже приведен код:

@dlt.table( comment="Данные о посещениях Википедии очищены и подготовлены для анализа." ) @dlt.expect("valid_current_page_title", "current_page_title НЕ НУЛЕВЫЙ") @dlt.expect_or_fail("valid_count", "click_count > 0") защита clickstream_prepared(): возвращаться ( dlt.read("clickstream_raw") .withColumn("click_count", expr("CAST(n AS INT)")) .withColumnRenamed("curr_title", "current_page_title") .withColumnRenamed("prev_title", "previous_page_title") .select("current_page_title", "click_count", "previous_page_title") ) здесь, указывая ожидания, мы должны вручную указать столбцы, в которых они будут реализованы. Но я хочу, чтобы они выполнялись для всех столбцов фрейма данных.

Чтобы реализовать ожидания для всех столбцов во фрейме данных, я использовал цикл и динамически изменил имя функции (которое действует как имя таблицы). Но это крайне неэффективно.
для столбца в columns_list_order_table: exec(f''' @dlt.table(comment="Проверка нулевого значения для {столбца}") @dlt.expect_or_drop("нулевые значения","is_null == false") защита null_validation_orders_for_column_{column}(): df = dlt.read("bronze_orders") return df.withColumn("is_null", col("{column}").isNull()) ''')
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «Python»