dbt-雪花行数元数据

问题描述 投票:0回答:1

目前我正在使用以下设置:

  • dbt-雪花1.5.2
  • 软件包:brooklyn-data/dbt_artifacts 版本:2.5.0

在 dbt_artifacts (0.X.X) 的早期版本中,解析文件“artifacts”,以便在元数据表中设置每个模型的 row_count。我很久以前就升级了,属性“row_count”对我来说已经过时了,但现在又需要它了。

是否有任何其他包或宏如何创建包含所述模型的表和视图名称以及 row_counts 的表?

感谢您对我的帮助:-)

sql metadata dbt
1个回答
0
投票

是否有任何其他包或宏如何创建包含所述模型的表和视图名称以及 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
© www.soinside.com 2019 - 2024. All rights reserved.