借助适用于 Apache Iceberg 的跨云 Lakehouse,您可以直接从 Google Cloud 查询存储在其他云提供商中的数据,而无需迁移文件或构建复杂的 ETL 流水线。
作为Lakehouse解决方案的一部分,此功能可让您使用 BigQuery、独立的 Apache Spark 环境或 Managed Service for Apache Spark 对分布式数据集执行统一的分析并应用 AI。
使用场景
跨云 Lakehouse 支持多个关键用例,可用于访问多个云服务提供商的数据:
- 减少数据迁移可让您直接查询存储在其他云环境中的数据,从而简化数据访问和处理。
- 借助统一分析,您可以对所有数据执行高级分析,无论数据位于何处,都能获得一致的功能和硬件优化。
- 跨云 AI 和 ML 可让您直接将 AI 模型、自主代理和机器学习应用于远程数据,而无需迁移数据。
跨云数据湖仓一体的工作原理
跨云湖仓一体查询使用以下流程查询远程数据:
- 元数据发现: Google CloudLakehouse 连接到远程 Apache Iceberg REST 目录,例如 Databricks Unity 或 AWS Glue。湖仓会发现数据,而无需复制任何文件。根据远程目录提供商的不同,Lakehouse 通过 Secret Manager 或 OpenID Connect 令牌联合身份验证(以 Google 作为身份提供商 [OIDC 令牌联合身份验证])安全地进行身份验证。
- 安全传输:选择通过专用互连(例如专用 CCI 或合作伙伴互连)路由流量可显著降低数据传输费用(与公共互联网相比),并使延迟高度可预测。
- 优化执行:当查询从远程云读取数据时,Lakehouse 会在 Google Cloud 的专用存储空间中临时缓存这些数据段。后续查询使用本地缓存,从而避免了大部分跨云出站流量费用。
支持的目录
跨云 Lakehouse 支持查询来自以下远程目录提供方的数据:
- Databricks Unity Catalog:在 Amazon Web Services (AWS) 和Google Cloud上受支持。
- AWS Glue:在 Amazon Web Services (AWS) 上受支持。
- SAP Business Data Cloud (BDC):支持使用 SAP BDC 连接器。
核心概念
本部分介绍了使用跨云数据湖仓的关键组件。
远程 Apache Iceberg REST Catalog
这是元数据层。您可以连接到远程 Apache Iceberg REST Catalog。 湖仓会发现数据,而无需复制任何文件。通过 OIDC 令牌联合或 OAuth 凭据,Lakehouse 可安全地进行身份验证,而无需长期有效的访问密钥。
跨云 Lakehouse 联合目录会根据刷新间隔同步来自远程 Apache Iceberg REST 目录的元数据。目录的后台元数据刷新时间可能会随着命名空间和表资源的增加而延长。如果上一次刷新超时,系统会跳过当前刷新,但会在下一个间隔安排下一次刷新。
传输层
这是传输层。您可以将 Lakehouse 配置为通过公共互联网或专用私有互连查询存储在远程云提供商中的数据。本部分不适用于 SAP Business Data Cloud (BDC) 连接。
选择符合您的架构和安全要求的传输方法:
客户自有 (CCI)
您可以配置 BigQuery,以通过专用 Cross-Cloud Interconnect 使用专用 Cross-Cloud Interconnect 或合作伙伴 Cross-Cloud Interconnect 查询存储在 Amazon Web Services (AWS) Amazon S3 存储分区中的数据。
使用专用互联具有以下优势:
- 增强安全性:数据通过 Google Cloud 和 AWS 之间的专用网络连接传输,避免使用公共互联网。
- 降低费用:与互联网出站流量相比,从 AWS 出站的流量费用可能会更低,尤其是在与专用互连容量结合使用时。
- 性能稳定:与公共互联网相比,网络延迟时间和带宽更可预测。
架构概览
如需启用私密查询,您需要通过专用互联配置从 BigQuery 到 AWS Amazon S3 存储桶的路径。 Google Cloud虚拟私有云 (VPC) 中的一个关键组件是内部负载平衡器 (ILB)。ILB 会将来自 BigQuery 的请求分配到 AWS VPC 内 Amazon S3 的专用端点,这些端点是使用 AWS PrivateLink 预配的。
使用具有多个弹性网络接口 (ENI) 的 ILB 作为后端对于负载均衡、可伸缩性和高可用性至关重要。无论您使用的是专用 CCI 还是合作伙伴互连,此要求都适用。
私密查询工作流遵循以下流程:
- BigQuery 使用通过 Service Directory 服务配置的连接。
- Service Directory 将服务名称解析为 Google Cloud ILB 的内部 IP 地址。
- ILB 接收来自 BigQuery 的请求,并将其分发到配置的后端。
- ILB 后端是混合连接网络端点组 (NEG),每个 NEG 都指向 AWS VPC 中 ENI 的专用 IP 地址。
- 流量从 ILB 流经 NEG,通过专用互联,到达 AWS ENI。
- AWS ENI 是 Amazon S3 VPC 接口端点 (AWS PrivateLink) 的一部分,可提供对 Amazon S3 服务的私密访问。
公共互联网(无 CCI)
如果您未配置专用互连,则对远程目录的查询默认会通过公共互联网传输。
通过公共互联网查询数据时,请考虑以下影响:
- 标准加密:数据访问请求和数据传输在通过公共互联网传输时,会使用标准 TLS 协议进行加密。
- 出站流量费用:数据传输会产生远程云提供商(例如 AWS)的标准互联网出站流量费用,该费用通常高于专用互连出站流量费率。
- 可变延迟时间:网络性能、带宽和延迟时间取决于公共互联网路由和拥塞情况,与专用私有互联相比,查询执行时间的可预测性较低。
- 简化设置:无需在 Google Cloud 或远程云提供商中进行额外的网络基础架构、VPC 对等互连或 Service Directory 配置。
架构概览
通过公共互联网查询数据时,Lakehouse 会直接连接到您的远程目录和对象存储端点,而无需专用 Google Cloud 或远程云网络基础设施。
公共互联网查询工作流遵循以下流程:
- BigQuery 会针对 Lakehouse 目录中定义的联合表发起查询。
- Lakehouse 使用存储在 Secret Manager 中的凭据或 OIDC 令牌联合安全地对远程 Apache Iceberg 目录进行身份验证。
- Lakehouse 会通过公共互联网检索表元数据和清单文件,以识别相关的底层数据文件(例如,在 AWS Amazon S3 中)。
- 对底层对象的数据访问权限请求直接从Google Cloud 通过公共互联网使用标准 TLS 加密发送。
- 远程存储服务使用 Lakehouse 提供的临时、限定范围的凭据验证请求,并通过公共互联网将请求的数据块返回给 Google Cloud。