Initial publish of dbt_f2dq (f2dq) package v0.12.1.
Clean package repo for Gitea installs via packages.yml git URL. Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
@@ -0,0 +1,54 @@
|
||||
{%- macro order_by_if_time_filter(time_filter) -%}
|
||||
{%- if time_filter is not none -%}
|
||||
order by {{ time_filter }} desc
|
||||
{%- endif -%}
|
||||
{%- endmacro -%}
|
||||
|
||||
|
||||
{% macro f2dq_last_table_samples() %}
|
||||
{{ f2dq.generate_depends(['f2dq_selected', 'f2dq_monitored', 'f2dq_columns', 'f2dq_run_started_at', 'f2dq_last_table_samples_part']) }}
|
||||
|
||||
{{
|
||||
config(
|
||||
materialized='table',
|
||||
)
|
||||
}}
|
||||
|
||||
{% set store_samples = f2dq.f2dq_var('store_table_samples', false) %}
|
||||
{% if not f2dq.in_compile() and store_samples is sameas true %}
|
||||
{%- set tables = run_query(f2dq.get_tables()) %}
|
||||
|
||||
{% set samples_list = [] %}
|
||||
{%- for sample_table in tables %}
|
||||
|
||||
{% set model = get_model_config(sample_table) %}
|
||||
{% set columns_to_sample = [] %}
|
||||
{% for key, value in model.columns_info.items() | sort %}
|
||||
{% if value.data_type in ['numeric', 'text'] %}
|
||||
{% do columns_to_sample.append(key) %}
|
||||
{% endif %}
|
||||
{% endfor %}
|
||||
|
||||
{% set samples_query %}
|
||||
select {{ print_list(columns_to_sample)}} from {{ model.table_name }}
|
||||
{{ order_by_if_time_filter(model.time_filter) }}
|
||||
limit 10
|
||||
{% endset %}
|
||||
|
||||
{% set samples = f2dq.agate_to_list(run_query(samples_query)) %}
|
||||
{% do samples_list.append({
|
||||
'table_name': model.model_name,
|
||||
'sample_data': samples,
|
||||
}) %}
|
||||
|
||||
{% endfor %}
|
||||
{% do f2dq.insert_list_to_table(
|
||||
ref('f2dq_last_table_samples_part'),
|
||||
samples_list,
|
||||
['table_name', 'sample_data']
|
||||
) %}
|
||||
{% endif %}
|
||||
|
||||
{{ f2dq.empty_last_table_samples() }}
|
||||
|
||||
{% endmacro %}
|
||||
Reference in New Issue
Block a user