本文档介绍了如何设置无边界湖仓一体架构,以便在Google Cloud中直接查询 SAP Business Data Cloud (BDC) 中的数据。这样,您就可以将外部数据源与现有的 Google Cloud 环境集成。
如需简要了解无边界 Lakehouse 如何与 SAP BDC 集成,请参阅关于 SAP BDC 集成。
准备工作
- 查看湖仓一体概览,了解湖仓一体如何管理数据访问权限。
- 请参阅无边界 Lakehouse 简介,了解其运作方式。
- 查看支持的目录,以验证要求。
- 确保 SAP 管理员有权访问 SAP BDC 环境,以配置 BDC Connect 应用。
- 确保目标 Google Cloud 项目在 BigQuery 企业 Plus 版上运行。
- 登录您的 Google Cloud 账号。如果您是 Google Cloud新手,请 创建一个账号来评估我们的产品在实际场景中的表现。新客户还可获享 $300 赠金,用于运行、测试和部署工作负载。
-
Verify that billing is enabled for your Google Cloud project.
Enable the BigLake API.
Roles required to enable APIs
To enable APIs, you need the
serviceusage.services.enablepermission. If you created the project, then you likely already have this permission through the Owner role (roles/owner). Otherwise, you can get this permission through the Service Usage Admin role (roles/serviceusage.serviceUsageAdmin). Learn how to grant roles.-
Verify that billing is enabled for your Google Cloud project.
Enable the BigLake API.
Roles required to enable APIs
To enable APIs, you need the
serviceusage.services.enablepermission. If you created the project, then you likely already have this permission through the Owner role (roles/owner). Otherwise, you can get this permission through the Service Usage Admin role (roles/serviceusage.serviceUsageAdmin). Learn how to grant roles.
所需的角色
如需获得设置无边界 Lakehouse 所需的权限,请让管理员向您授予项目的以下 IAM 角色:
-
管理 Lakehouse 目录:
BigLake Admin (
roles/biglake.admin) 或 BigQuery Admin (roles/bigquery.admin)
如需详细了解如何授予角色,请参阅管理对项目、文件夹和组织的访问权限。
限制和注意事项
本部分列出了使用无边界 Lakehouse 的限制和注意事项。
- SAP Delta Sharing 表不支持精细访问权限控制 (FGAC)。
- 根据您的投放网络设置,可能需要进行特定的 VPC 配置或许可名单设置。如需了解 VPC Service Controls 配置,请参阅 SAP BDC 的 VPC Service Controls 配置。
- 不支持包含
/或-等特殊字符的数据产品,即使从 SAP BDC 共享到 BigQuery,这些数据产品也不会在 BigQuery 中提供。如果您分享的数据产品包含特殊字符,可能会导致 Google 端刷新中断,需要重新注册。已知会生成这些数据产品的 SAP 系统包括 BW 源和 SuccessFactors。 - 数据新鲜度:联合目录的
--refresh-interval标志用于确定元数据的同步频率。较短的间隔可提供更新鲜的数据,但可能会产生远程目录提供商的额外 API 费用。 - Iceberg 指标报告:
Iceberg 指标报告不适用于联合目录。在访问联合目录时,将 Iceberg 客户端中的
rest-metrics-reporting-enabled属性设置为false。
常规工作流程
如需使用 SAP BDC 设置和使用无边界 Lakehouse,请按照以下步骤操作:
- 设置企业 Plus 版:在查询 SAP BDC 实例时启用 BigQuery 企业 Plus 版。
- 创建 Lakehouse 目录:BigQuery 管理员创建一个空的 Delta Sharing 目录,以连接到 SAP BDC。
- 在 SAP for Me 中配置连接器:您的 SAP 管理员会预配 BDC Connect 应用实例。
- 更新目录:通过将端点和邀请码添加到 Lakehouse 目录来完成握手。
- 共享 SAP BDC 数据产品:您的 SAP 数据管理员共享 BigQuery 的数据产品。
- 查询数据:使用 BigQuery 查询联合数据。
- 配置权限:使用 Identity and Access Management (IAM) 管理访问权限。
设置 BigQuery 企业 Plus 版
通过此一次性设置,BigQuery 可以使用企业 Plus 版查询您的 SAP BDC 实例。
创建企业 Plus 版预留
转到 BigQuery。
在导航菜单中,依次前往管理 > 容量管理。
在预留名称中,输入一个名称(例如
enterprise-plus-sap-res)。点击预留标签页,然后点击创建预留。
对于位置,选择您的数据所在的区域。此值必须与 Lakehouse 目录所用的区域一致。
对于版本,选择企业 Plus 版。
对于槽,请设置以下内容:
- 将基本时段设置为
0,以防止在不查询数据时产生费用。 - 启用自动扩缩,以便 BigQuery 根据需要扩缩 slot。
- 将基本时段设置为
点击保存。
将项目分配到预留
- 在容量管理页面中,点击分配标签页。
- 点击创建作业。
- 对于选择资源,请选择运行 BigQuery 作业的项目、文件夹或组织。
- 在预留中,选择您创建的企业 Plus 版预留。
- 对于服务类型,请选择查询。
- 点击创建。
如需验证,请在 BigQuery 作业历史记录中查看该项目内运行的任何作业的作业信息。
设置联合
如需查询数据,请设置一个连接到远程 SAP BDC 目录的 Lakehouse 联合目录。这会启动握手,以建立信任关系,其中 BigQuery 服务账号充当 Google Cloud 项目的身份。
创建 Lakehouse Delta Sharing 目录
使用 Google Cloud 控制台或 gcloud CLI 创建空的 Delta Sharing 目录。
控制台
在 Google Cloud 控制台中,前往 Lakehouse 页面。
在导航菜单中,点击运行时目录。
点击创建目录,然后选择联合目录。
在目录配置部分中,输入以下内容:
- 对于联合目录来源,请选择 SAP (Delta)。
- 对于目录名称(在 Lakehouse 中),请输入目录的名称。
- 在数据位置中,选择 Lakehouse 区域。
点击继续。
检索页面上显示的 Google Cloud 服务账号 ID,并将此 ID 提供给您的 SAP 管理员。
gcloud
创建空的 Delta Sharing 目录:
gcloud biglake delta-sharing catalogs create CATALOG_ID \ --project="PROJECT_ID" \ --location="REGION" \ --refresh-interval="REFRESH_INTERVAL"
替换以下内容:
CATALOG_ID:目录的名称。PROJECT_ID:您的 Google Cloud 项目 ID。REGION:Lakehouse 区域。REFRESH_INTERVAL:可选:从目录刷新元数据的间隔时间,以包含单位的时长字符串指定(例如,5m表示 5 分钟,300s表示 300 秒,或1h表示 1 小时)。如果省略,刷新间隔时间默认为 5 分钟(5m或300s)。
检索 Google Cloud 服务账号 ID 以提供给 SAP 管理员:
gcloud biglake delta-sharing catalogs describe CATALOG_ID \ --project="PROJECT_ID"
在 SAP for Me 中配置连接器
您的 SAP 管理员必须登录 SAP for Me 并预配 BDC Connect 应用的新实例:
- 输入显示名称。
- 选择或创建资源组。
- 分配 BDC 容量单位。
- 输入 Google Cloud 服务账号 ID 作为外部系统实例标识符。
- 选择区域。 此值必须与 BDC 核心区域一致。
- 点击完成。
完成后,前往租户详情视图。将指针悬停在查看租户通知按钮上,以获取激活链接,其中包含 SAP 连接器端点和 SAP 邀请码。
将这些信息提供给您的 BigQuery 管理员。
如需了解详情,请参阅 SAP 文档中的配置 SAP Business Data Cloud Connect。
使用 SAP 注册详细信息更新目录
使用 Google Cloud 控制台或 gcloud CLI 更新目录,以完成握手。
控制台
如果您尚未位于连接详情页面,请执行以下操作:
在 Google Cloud 控制台中,前往 Lakehouse 页面。
在导航菜单中,点击运行时目录。
选择您的 SAP Delta Sharing 目录,以打开其目录详情页面。
在横幅中,点击注册目录。
在连接详情部分中,输入以下内容:
- 对于连接器端点,请输入 SAP 管理员提供的网址。
- 在邀请码部分,输入 SAP 管理员提供的代码。
点击保存。
gcloud
gcloud biglake delta-sharing catalogs update CATALOG_ID \ --project="PROJECT_ID" \ --connector-endpoint="CONNECTOR_ENDPOINT" \ --invitation-code="INVITATION_CODE" \ --refresh-interval="REFRESH_INTERVAL"
替换以下内容:
CATALOG_ID:您的目录的名称。PROJECT_ID:您的 Google Cloud 项目 ID。CONNECTOR_ENDPOINT:SAP 管理员提供的网址。INVITATION_CODE:SAP 管理员提供的代码。REFRESH_INTERVAL:可选:从目录刷新元数据的间隔时间,以包含单位的时长字符串指定(例如,5m表示 5 分钟,300s表示 300 秒,或1h表示 1 小时)。如果省略,后台元数据刷新间隔时间默认为 5 分钟(5m或300s)。
共享 SAP BDC 数据产品
您的 SAP 数据管理员必须登录 SAP Business Data Cloud 并共享 BigQuery 的数据产品:
- 浏览目录并选择可共享的数据产品。
- 前往相应 API。
- 点击共享。
- 点击 Add Target(添加目标),然后选择适用于 Google BigQuery 的 BDC Connect 实例。
- 点击共享。
共享数据产品可在 Google BigQuery 中发现。 如需了解详情,请参阅 SAP 文档中的 SAP Business Data Cloud Connect 中使用数据产品。