目前我正在使用以下设置:
在 dbt_artifacts (0.X.X) 的早期版本中,解析文件“artifacts”,以便在元数据表中设置每个模型的 row_count。我很久以前就升级了,属性“row_count”对我来说已经过时了,但现在又需要它了。
是否有任何其他包或宏如何创建包含所述模型的表和视图名称以及 row_counts 的表?
感谢您对我的帮助:-)
是否有任何其他包或宏如何创建包含所述模型的表和视图名称以及 row_counts 的表?
是的,您可以使用 Snowflake 元数据视图创建行计数表:
SELECT
TABLE_CATALOG AS database,
TABLE_SCHEMA AS schema,
TABLE_NAME AS table,
ROW_COUNT AS row_count
FROM
SNOWFLAKE.ACCOUNT_USAGE.TABLES
我看到的另一种方式,你可以使用 SQL 宏:
{% macro get_row_count(table_name) %}
SELECT
COUNT(*) AS row_count
FROM
{{ table_name }}
{% endmacro %}
之后,您可以创建一个新模型来生成行计数表,如下所示:
models:
- name: row_counts
materialized: table
columns:
- name: table_name
type: string
- name: row_count
type: integer
select:
- {{ ref('table_name') }} AS table_name
- {{ get_row_count(ref('table_name')) }} AS row_count