【问题标题】:DBT select Big Query table from different Google ProjectDBT 从不同的 Google 项目中选择 Big Query 表
【发布时间】:2021-04-16 15:02:51
【问题描述】:

我正在使用 DBT 在 Big Query 中读取和写入表,所有这些表都在我的 Google 项目 X 中运行。
我有一张表,我想从另一个 Google 项目 Y 中读取并放入 DBT 模型(然后将其保存为项目 X 中的表)。
有可能吗?如果是,我在哪里定义 FROM {{ source('dataset_project_y', 'table_to_read')}} 中的不同项目?

【问题讨论】:

    标签: google-bigquery dbt


    【解决方案1】:

    首先,您需要在 source.yml 文件中声明源代码。

    https://docs.getdbt.com/docs/building-a-dbt-project/using-sources#declaring-a-source

    例如,创建一个 source_y.yml

    sources:
      - name: dataset_project_y
        schema: dataset_y
        database: 'project_y'
        tables:
    
          - name: table_to_read
            identifier: table_to_read
    
    

    之后, 您可以在任何 dbt 模型中引用源 table_to_read,在任何 dbt 模型的 SQL 语句中从中选择。

    https://docs.getdbt.com/docs/building-a-dbt-project/using-sources#selecting-from-a-source

    例如,在 dbt_model_x.sql 中使用 table_to_read

    {{
      config(
        materialized = "view",
      )
    }}
    
    SELECT * FROM {{ source('dataset_project_y', 'table_to_read')}}
    
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2018-11-13
      • 1970-01-01
      • 1970-01-01
      • 2016-12-19
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多