DBT 可以直接连接到 Google 张吗?

Can DBT directly connect to Google sheets?

我们目前有一个 DBT 实例位于我们的 Google BigQuery 数据仓库之上。现在我们最近被要求将 Google Sheet 的一些数据合并到我们的模型中。

那么,DBT是否可以直接与Google Sheets连接?即在 .yml 文件中将 Google Sheets 配置为直接外部数据源,或者可能有 DBT 运行 某种 BigQuery 联合 SQL 语句?

有一个名为 dbt-external-tables (https://hub.getdbt.com/dbt-labs/dbt_external_tables/latest/) 的 DBT 包,但它似乎只适用于 Google Cloud Storage 存储桶中的 BigQuery + 文件。

但我在论坛和文档中看到的最常见且最直接的选项是在 Google Sheet 之上的 BigQuery 上创建一个外部 table。然后让 DBT 连接到外部 BigQuery table.

只是想检查一下上述用于集成 DBT x Google Sheets x BigQuery 的常用选项是否实际上是唯一的选项,或者是否真的有办法让 DBT 直接连接到 Google Sheets 在访问 BigQuery 之前?

谢谢

根据我在 dbt-external-tables 方面的观察,bigquery 适配器折叠成 DDL statement for the create_external_table 宏。

不幸的是,我只是没有看到可用于 Google Sheets“外部”定义的类似 DDL 语句。看起来 UI 可能会通过 bq cli 客户端执行某些操作以从 Web 门户创建,如果我不得不猜测的话。

如果将一个部分添加到 this guide,其中包含基于 Google Drive 的外部源的 DDL 定义,这可能会变得相对容易构建到前面提到的用于外部表的 dbt 宏中。在那之前,您必须通过 UI、bq 客户端自己或 REST api.

来定义它