无边界 Lakehouse:让跨云数据真正服务于 AI Agent

2026-07-30 32 预计阅读时间: 1 分钟
来源: cloud.google.com AI 摘要 Original link

Disclaimer: This article is an AI-assisted summary. Read it together with the original source when precision matters. The summary may omit context, version differences, or edge cases and is not official documentation.

预计阅读时间:13 分钟

数据湖仓正在从“存放数据的地方”变成“执行动作的系统”。AI Agent 不再只是定期生成报表,而是持续监控供应链、识别异常、解释业务指标,并在满足条件时触发后续流程。要让这种系统稳定运行,Agent 必须访问分散在 AWS、Databricks、Snowflake、企业本地系统和 SaaS 应用中的数据,同时还要理解字段含义、数据血缘和访问边界。

Google Cloud 提出的 borderless Lakehouse,核心思路是基于开放的 Apache Iceberg 和 Iceberg REST Catalog,联邦接入不同云和不同数据平台,在尽量不搬迁原始数据的前提下完成查询、治理和 AI 推理。

从“复制数据”转向“联邦访问”

传统跨云数据架构通常需要建设一组 ETL 或 ELT 管道:从源平台抽取数据,跨云传输,再写入统一仓库。这个方案容易遇到三个问题:

  • 数据复制带来存储、传输和同步成本。
  • 管道延迟让 Agent 使用到过期数据。
  • 每个平台都有自己的目录、权限和治理模型,跨系统排查问题成本很高。

无边界 Lakehouse 通过 Catalog Federation 接入 AWS Glue、Databricks Unity Catalog 和 Snowflake Horizon。BigQuery、Managed Service for Apache Spark 以及其他兼容 Iceberg 的引擎,可以发现并查询远程表。这里的关键变化不是“把所有文件集中起来”,而是让计算引擎能够通过统一的目录协议找到数据,并依据源平台的访问控制读取数据。

这种模式带来三种直接收益:

  1. 零拷贝跨云分析:多个团队可以分析同一份 Apache Iceberg 数据,减少重复文件和同步任务。
  2. 双向互操作:不仅可以从 BigQuery 或 Spark 读取外部表,也可以把经过 AI 丰富的数据集写回合作系统,供后续业务流程使用。
  3. 统一访问治理:通过表级权限、credential vending 等能力,让发起查询的平台和数据所在的平台都参与授权判断。

需要注意的是,“零拷贝”不等于“零网络成本”。跨云访问仍然需要考虑链路费用、延迟、带宽和缓存策略。摘要中提到的跨云互联可以采用私有专用链路,并以固定月费方式提供更可预测的网络成本;连接服务本身仍可能按小时收费。

让 Agent 获得可解释的业务上下文

仅把表名、列名和类型交给 LLM,通常不足以支撑可靠的自然语言分析。一个名为 amount 的字段可能表示含税金额、订单金额,也可能表示本地货币金额。如果 Agent 不知道口径,就算生成的 SQL 能够执行,结果也可能无法用于决策。

Knowledge Catalog 在这里承担统一上下文层的角色。它从 AWS Glue、Databricks Unity Catalog 和 Snowflake Horizon 同步元数据,进一步聚合和索引:

  • 业务术语与字段语义
  • 列级血缘
  • Schema 变化
  • 数据质量与可信度信息
  • 安全策略和访问边界

这样,Agent 可以在生成 SQL 或调用工具前先回答几个关键问题:这张表是否可用于当前问题?字段的业务定义是什么?数据来自哪里?当前用户是否有权访问?

这也是降低幻觉的重要路径。可信上下文并不意味着 Agent 永远不会犯错,但它可以减少把相似字段混淆、跨越权限边界查询数据,以及因为缺少业务口径而反复推理的情况。

跨云直接运行 AI 和分析

过去,在 AWS 或 Azure 数据上运行高级分析,常常需要把数据复制到训练或分析环境。这会叠加出口费用、网络延迟和管道维护成本。无边界 Lakehouse 的目标是让 BigQuery AI、向量化处理、Spark Lightning Engine 等能力直接作用于远程数据。

其中,跨云缓存适合处理重复访问的场景:远端数据片段可以临时缓存到 Google Cloud,后续 BI 查询或临时分析不必重复拉取相同内容。缓存并不能替代权限设计,也不适合默认缓存所有敏感数据;团队仍需要明确缓存生命周期、数据脱敏和删除策略。

数据库和应用层也被纳入这一模型。例如,Spanner Omni 可以在 Google Cloud 之外的环境运行,AlloyDB 的 Lakehouse Federation 可以让事务系统直接查询仓库数据。SAP、Salesforce 和 Workday 等 SaaS 数据也可以通过零拷贝集成参与分析,减少财务、HR、客户数据之间的手工拼接。

一个可改造的联邦查询配置示例

下面是一个实践示意,用于表达多 Catalog 接入时应明确的配置边界。具体字段和命令会随 Google Cloud 产品版本、区域以及预览功能的接口变化,落地时需要替换为官方 CLI 或 Terraform provider 支持的字段。

# lakehouse-federation.example.yaml
# 这是架构配置示意,不是某个产品版本的完整部署清单。
project: analytics-prod
region: asia-northeast1

catalogs:
  - name: aws-orders
    type: aws-glue
    endpoint: https://glue.ap-northeast-1.amazonaws.com
    warehouse: s3://company-orders/iceberg/
    auth:
      mode: credential-vending
      role: arn:aws:iam::123456789012:role/BigQueryIcebergReader
    policy:
      allowed_tables:
        - sales.orders
        - sales.order_events

  - name: databricks-finance
    type: unity-catalog
    endpoint: https://dbc.example.cloud.databricks.com
    catalog: finance
    auth:
      mode: oauth-or-service-principal
    policy:
      allowed_tables:
        - accounting.invoice

  - name: snowflake-customer
    type: snowflake-horizon
    account: example-org-example-account
    database: CUSTOMER
    schema: PUBLIC
    auth:
      mode: external-identity
    policy:
      allowed_tables:
        - CUSTOMER_PROFILE

agent_context:
  catalog: knowledge-catalog
  require_lineage: true
  require_business_definition: true
  deny_if_user_lacks_table_access: true
  max_context_columns: 40

network:
  cross_cloud_interconnect: true
  cache_remote_fragments: true
  cache_ttl_minutes: 30

在真正部署前,可以先用一个低风险数据域验证流程:

set -euo pipefail

export PROJECT_ID="analytics-prod"
export REGION="asia-northeast1"
export FEDERATION_CONFIG="lakehouse-federation.example.yaml"

# 1. 检查当前身份和目标项目
 gcloud auth list
gcloud config set project "$PROJECT_ID"

# 2. 检查配置文件,实际命令请替换为当前预览版本提供的校验命令
python - <<'PY'
import pathlib
import yaml

path = pathlib.Path("lakehouse-federation.example.yaml")
config = yaml.safe_load(path.read_text())
assert config["project"]
assert config["catalogs"]
assert all(item.get("name") and item.get("type") for item in config["catalogs"])
print(f"validated {len(config['catalogs'])} federated catalogs")
PY

# 3. 创建或更新联邦目录,命令名和参数需按实际产品版本调整
# bq mk --connection --location="$REGION" --project_id="$PROJECT_ID" \
#   --connection_type=ICEBERG_REST --properties="@$FEDERATION_CONFIG" \
#   lakehouse_federation

这个示例的重点不是复制配置字段,而是把四个问题显式化:数据目录在哪里、如何获取临时凭证、Agent 能访问哪些表、哪些业务上下文必须存在。对于生产环境,还应补充审计日志、密钥轮换、行列级脱敏、跨云链路监控和缓存清理验证。

用 Data Agent Kit 连接 Gemini Enterprise

Google Cloud Data Agent Kit 与 Conversational Analytics API 可以组合成面向业务用户的数据 Agent,再发布到 Gemini Enterprise。Data Agent Kit 提供可复用的分析技能和 MCP 工具,使 Agent 能够直接连接 BigQuery、Managed Spark 和 Cloud Storage,而不必把巨大的表结构手工塞进 Prompt。

一个可采用的 Agent 工作流如下:

用户问题
  -> 识别业务意图和数据域
  -> 从 Knowledge Catalog 获取术语、血缘和权限上下文
  -> 选择 BigQuery、Spark 或远程 Iceberg 表
  -> 生成并校验 SQL
  -> 执行查询并返回证据、口径和结果
  -> 在满足审批条件时调用下游 MCP 工具

Agent 的权限应该继承数据平台的授权结果,而不是只依赖 Prompt 中的文字约束。涉及付款、供应商变更或客户通知等动作时,建议增加人工审批、幂等键和可回滚操作,避免把“能查询”直接等同于“能执行”。

经济性:节省的不只是存储费用

无边界 Lakehouse 试图同时优化三类成本:

  • 数据传输成本:通过零拷贝访问和跨云专用互联,减少重复出口和管道传输。
  • 计算成本:根据查询位置和访问频率选择 BigQuery、Spark 或源平台计算,结合缓存减少重复读取。
  • Token 成本:Knowledge Catalog 只向 Agent 提供相关业务上下文,BigQuery AI 的 token 控制和优化模式则可以限制查询消耗。

摘要提到,部分客户使用 BigQuery 内置 AI 函数后实现了最高 230 倍的 Token 消耗降低。这个数字不应直接当作所有工作负载的预期结果。实际收益取决于 Prompt 长度、模型选择、查询频率、上下文过滤和结果规模,生产环境需要用真实请求建立成本基线。

落地检查清单

适合采用这类架构的团队,可以按以下顺序推进:

  • 选一个跨云、只读、低敏感的数据域做试点。
  • 统一 Iceberg 表的命名、分区和 Schema 演进规则。
  • 先打通 Catalog Federation,再接入业务语义和血缘。
  • 为每个 Agent 定义允许访问的数据域、工具和最大 Token 预算。
  • 使用私有链路、缓存 TTL 和出口成本监控验证真实经济性。
  • 对写回和业务动作增加审批、审计、幂等和回滚机制。
  • 用准确率、延迟、查询失败率、越权拦截率和单次请求成本衡量效果。

无边界 Lakehouse 的价值不在于把所有系统强行变成同一个平台,而在于让数据保持原位,同时让目录、权限、上下文和计算能力跨平台协作。对于 AI Agent 来说,这比单纯增加一个更大的模型更重要:它决定了 Agent 能否找到正确的数据、理解正确的含义,并在可控边界内采取行动。


相关推荐