如何更改 dbt 项目中的 google_ads 模式?
How can I change google_ads schema in dbt project?
我有一个 dbt 项目,我正在使用 ad_reporting 模型。
除了 google_ads 之外,所有资源都运行良好。
那是因为我没有 google_ads 架构,而是有 google_ads_us 架构。
我试图在主 dbt_project.yml 文件中更改它:
vars:
google_ads_schema: google_ads_us
但是当我 运行 这个命令时:
dbt run --select ad_reporting
我一直收到这个错误:
Database Error in model stg_google_ads (models\stg_google_ads.sql)
SQL compilation error:
Object 'DATABASE.HISTORY_GOOGLE_ADS.GOOGLE_ADS__URL_AD_ADAPTER' does not exist or not
authorized.
compiled SQL at target\run\ad_reporting\models\stg_google_ads.sql
HISTORY_ 前缀来自 profiles.yml 文件 (SCHEMA)。
有人知道我还需要更改架构吗?
为了让包找到指定的 vars
它已经定义,你需要做四件事,都在 docs:
中指定
1.确保 google_ads 的 ad_reporting
已启用 -->
# inside your dbt_project.yml
vars:
ad_reporting__google_ads_enabled: true
2。另外,确保让 dbt 知道在哪里寻找 google_ads 原始数据:
# inside your dbt_project.yml
vars:
google_ads_database: your_database_name # in our case, `raw`
google_ads_schema: your_schema_name # in our case, `google_ads`
3。定义 dbt 将为 google_ads
和 google_ads_source
构建模型的模式 -->
# inside your dbt_project.yml
models:
google_ads:
+schema: my_new_schema_name # leave blank for just the target_schema
google_ads_source:
+schema: my_new_schema_name # leave blank for just the target_schema
因为,根据文档:
"默认情况下,此包将在标题为 ( + _stg_google_ads) 和 Google 在您的目标数据库中使用标题为 ( + _google_ads) 的架构的广告最终模型。 "
4。指定您要使用的 API(Google Adwords 或 Google Ads):
# inside your dbt_project.yml
vars:
api_source: google_ads # adwords by default and is case sensitive!
我有一个 dbt 项目,我正在使用 ad_reporting 模型。 除了 google_ads 之外,所有资源都运行良好。 那是因为我没有 google_ads 架构,而是有 google_ads_us 架构。 我试图在主 dbt_project.yml 文件中更改它:
vars:
google_ads_schema: google_ads_us
但是当我 运行 这个命令时:
dbt run --select ad_reporting
我一直收到这个错误:
Database Error in model stg_google_ads (models\stg_google_ads.sql)
SQL compilation error:
Object 'DATABASE.HISTORY_GOOGLE_ADS.GOOGLE_ADS__URL_AD_ADAPTER' does not exist or not
authorized.
compiled SQL at target\run\ad_reporting\models\stg_google_ads.sql
HISTORY_ 前缀来自 profiles.yml 文件 (SCHEMA)。
有人知道我还需要更改架构吗?
为了让包找到指定的 vars
它已经定义,你需要做四件事,都在 docs:
1.确保 google_ads 的 ad_reporting
已启用 -->
# inside your dbt_project.yml
vars:
ad_reporting__google_ads_enabled: true
2。另外,确保让 dbt 知道在哪里寻找 google_ads 原始数据:
# inside your dbt_project.yml
vars:
google_ads_database: your_database_name # in our case, `raw`
google_ads_schema: your_schema_name # in our case, `google_ads`
3。定义 dbt 将为 google_ads
和 google_ads_source
构建模型的模式 -->
# inside your dbt_project.yml
models:
google_ads:
+schema: my_new_schema_name # leave blank for just the target_schema
google_ads_source:
+schema: my_new_schema_name # leave blank for just the target_schema
因为,根据文档:
"默认情况下,此包将在标题为 (
4。指定您要使用的 API(Google Adwords 或 Google Ads):
# inside your dbt_project.yml
vars:
api_source: google_ads # adwords by default and is case sensitive!