Datus + Google BigQuery

为 BigQuery 数据建立有业务含义的语义层。

数据保留在 BigQuery。团队在 Apache Ossie 模型中审核指标,DOSI 将指标请求编译为 GoogleSQL 并发送给 BigQuery。Datus Agent 另有独立的 BigQuery 原生适配器。

各部分如何协作
已有 SQL 与业务规则团队审核Apache Ossie 模型
Agent 与应用 · MCP / API / CLIDOSI通过 jobs.query 执行 GoogleSQL
BigQuery 项目与数据集
结果经 DOSI 返回给工具

DOSI 向指定的 BigQuery 项目发送查询;执行和计费由 BigQuery 负责。

明确项目与数据集原生 BigQuery 查询DOSI 执行仍为实验性
Datus 的作用

在 BigQuery 之上建模指标的两种架构。

Looker 可以用 LookML 为 BigQuery 数据建模,供仪表板和应用使用。DOSI 则使用单独审核的 Apache Ossie 模型,通过面向 Agent 的接口提供已命名指标;查询仍由 BigQuery 执行。

BigQuery + Looker

BigQuery 表 + LookML 模型
Looker 语义模型
Looker 仪表板与应用
BigQuery 查询作业

Looker 是独立的 Google BI 产品,可连接 BigQuery。

BigQuery + Datus / DOSI

团队审核的 Apache Ossie 模型
DOSI 语义层
Agent 与应用 · MCP / API / CLI
BigQuery jobs.query

模型独立管理;DOSI 的 BigQuery 执行能力仍为实验性。

两条路径都由 BigQuery 执行查询。BigQuery 也支持用 SQL View 复用查询逻辑。Google:Looker 与 BigQueryDOSI BigQuery 连接器

让定义可审核

在 Apache Ossie 模型中描述收入、维度和关系。团队确认业务逻辑后,再让应用和 Agent 复用。

数据仍在 BigQuery

查询在你配置的 BigQuery 项目和数据集中运行。DOSI 不会把底层表复制进另一个分析存储。

区分两条接入路径

Datus Agent 用原生 BigQuery 适配器处理元数据和数据任务;DOSI 则有独立的 BigQuery 执行连接器,用于语义指标查询。

选择 BigQuery 语义层

让 BigQuery 工作流使用同一套语义定义。

明确共享指标在哪里定义、已有模型如何复用,以及 BI 工具和 Agent 如何使用这些定义。

01

业务定义应该维护在哪里?

保留现有 dbt 转换与 BigQuery 表,把需要供 Agent 和应用共享的指标整理为可审核模型。确认定义变更如何传到各使用方;连接同一个数仓,不代表 LookML、dbt 指标与 Ossie 会自动同步。

了解语义层方案
02

已有 dbt 模型和 View 如何复用?

将整理好的 BigQuery 表或 View 作为数据基础,继续用 dbt 处理转换,在语义模型中描述共享的指标表达式、维度与关系。先从少量定义开始,与已有报表口径对照验证。

查看语义模型示例
03

哪些工具真正使用这些指标?

数仓连接与语义模型集成是两回事。应用需要调用受支持的 DOSI 接口,才能使用其中的定义。直接查询 BigQuery 的 BI 工具不会自动使用 Ossie 模型。先验证一条从使用方到查询结果的完整路径。

在 Agent 中使用 DOSI
具体流程

明确项目,发送指标请求,核查查询。

先准备审核过的模型与 BigQuery 连接配置,再向 DOSI 请求已命名的指标。

dosi-connections.yaml

dosi-connections.yamlYAML
datasources:
  bigquery:
    type: bigquery
    project: ${BIGQUERY_PROJECT}
    dataset: analytics
    credentials_path: /path/to/service-account.json
    location: US
    billing_project_id: ${BIGQUERY_BILLING_PROJECT}

DOSI CLI · 示例请求

dosiCLI
dosi query --model model.yaml \
  --metrics revenue --group-by orders.status \
  --execute --connection bigquery

这里展示配置与命令示例,并未实时运行 BigQuery。请使用你自己的已验证模型和服务账号。DOSI BigQuery 执行连接器目前仍为实验性。

连接 BigQuery

明确数据项目与计费项目。

DOSI 连接器使用服务账号 JSON 密钥和 BigQuery jobs.query API。BigQuery 项目对应 catalog,数据集是下一级命名空间。

DOSI BigQuery 连接器文档
  1. 01

    配置访问权限

    服务账号需要读取相关数据,并能在计费项目创建作业。确认数据集所在地区,例如 US 或 EU。

  2. 02

    只选择一种凭据来源

    在 DOSI 配置中使用 credentials_path、credentials_info 或 credentials_base64,三选一。该连接器不使用 Application Default Credentials。

  3. 03

    验证模型与查询

    检查数据集名称和指标定义,执行范围明确的请求,再核查 SQL、结果和 BigQuery 作业费用。

DOSI BigQuery 执行能力在文档中标为实验性。Datus Agent 的 BigQuery 原生适配器是另一条路径,支持的认证方式并不完全相同;不要将两者配置混用。

Datus Agent BigQuery 适配器文档
团队如何使用

共享定义,数据仍留在原处。

当多人和多个工具反复查询 BigQuery 中同一个业务问题时,统一模型尤其有用。

01

让 AI 分析使用一致指标

让 Agent 调用团队可核查的已命名指标,而不是仅靠表名猜测计算方式。

02

明确项目边界

在配置中写清数据项目、数据集、作业地区和计费项目,确保查询运行在预期环境。

常见问题

BigQuery 语义层常见问题

共享语义定义如何融入 BigQuery 技术栈。

在 BigQuery 上,DOSI 与 Looker 有什么区别?

Looker 使用 LookML 模型,为 BigQuery 上的 BI 仪表板和应用提供定义。DOSI 读取独立管理的 Apache Ossie 模型,通过 MCP、API 和 CLI 提供已命名指标。两者都将查询交给 BigQuery 执行。

DOSI 会复制 BigQuery 表吗?

不会。DOSI 编译指标请求,并向连接配置指定的 BigQuery 项目发送 SQL;作业由 BigQuery 执行。

Apache Ossie 模型如何将业务指标关联到 BigQuery?

模型将业务数据集映射到 BigQuery 表或 View,并定义指标表达式、维度和关系。DOSI 根据这些定义将指标请求编译为 GoogleSQL,再发送到配置的 BigQuery 项目。团队可以结合共享定义、生成的 SQL 与结果检查计算依据。

在 BigQuery 上使用语义层,必须使用 Looker 吗?

不必。Looker 是一种建模和使用路径。Datus/DOSI 使用兼容的 Apache Ossie 定义,通过独立路径查询 BigQuery。可以继续用 Looker 运行现有仪表板,通过 DOSI 接口为 Agent 和应用提供共享指标。

已有的 dbt 模型和 BigQuery View 能继续使用吗?

它们可以作为语义模型的数据基础。从整理好的输出开始,明确粒度、指标表达式和关系。保留 dbt 转换不需要迁移数据,发布共享指标前,先与已有报表核对选定的业务定义。

先从团队能验证的 BigQuery 指标开始。

审核定义,限定查询范围,检查 BigQuery 实际执行的内容。