【发布时间】:2022-11-11 00:58:59
【问题描述】:
我想从充当源的 BigQuery 表的元数据中访问上次修改时间列。我想创建一个通用测试来检查源表的最后修改日期是否等于今天。
在 BigQuery 中,您可以通过以下方式访问这些数据:
SELECT
last_modified_time
FROM `project.dataset.__TABLES__`
WHERE table_id = 'table_id'
我的目标是根据应用此测试的模型使 project.dataset 动态化。同样,我希望 table_id 是动态的。
鉴于 DBT 在他们的文档中提到 BigQuery 的数据集在定义上与“模式”相似,我尝试了这个,但没有奏效。
{% test last_modified_time(schema, model) %}
SELECT
last_modified_time
FROM `{{ database }}.{{ schema }}.__TABLES__`
WHERE table_id = {{ model }}
{% endtest %}
它的作用是为数据库和模式呈现项目名称。 此外,模型(当然)会渲染 project.dataset.table_id 路径,而我只需要 table_id。
我对 DBT 很陌生,但我找不到任何与我正在寻找的东西相似的东西。
【问题讨论】:
标签: sql google-bigquery dbt