安装和配置 BigQuery Toolkit for SAP

本文档介绍了如何安装和配置适用于 SAP 的 BigQuery 工具包。

安装 BigQuery Toolkit for SAP

当您安装本地版本或任何云版本的 ABAP SDK for Google Cloud 1.9 版时,系统会默认为您安装 BigQuery Toolkit for SAP。如需了解安装步骤,请参阅安装和配置本地版本或任何云版本的 ABAP SDK for Google Cloud

如果您已在使用本地版本或任何云版本的 ABAP SDK for Google Cloud 1.8 版或更低版本,则必须将您的 SDK 更新到最新版本,以获取 BigQuery Toolkit for SAP。如需了解详情,请参阅更新 ABAP SDK for Google Cloud

启用 BigQuery API

您必须在 Google Cloud 项目中启用 BigQuery API。如需了解如何启用 Google Cloud API,请参阅启用 API

设置身份验证

在本地版本或任何云版本的 ABAP SDK for Google Cloud 中设置身份验证以访问 API 后,BigQuery Toolkit for SAP 会使用相同的身份验证方法来访问 BigQuery API。 Google Cloud 如需了解如何在本地版本或任何云版本的 ABAP SDK for Google Cloud 中设置身份验证,请参阅身份验证概览

确保在 ABAP SDK for Google Cloud 客户端密钥配置中配置的服务账号具有以下角色:

  • BigQuery Data Editor
  • BigQuery Job User

请记下您在身份验证设置过程中创建的客户端密钥。在 SAP 系统中配置 BigQuery Toolkit for SAP 的 BigQuery Data Transfer 配置模块时,您需要使用此客户端密钥。

创建 BigQuery 数据集

如需创建 BigQuery 数据集,您的用户账号必须具有针对 BigQuery 的适当 IAM 权限。如需了解详情,请参阅所需权限

如需创建 BigQuery 数据集,请执行以下操作:

  1. 在 Google Cloud 控制台中,打开 BigQuery 页面:

    转到 BigQuery

  2. 点击您的项目 ID 旁边的查看操作图标 ,然后点击创建数据集

    创建数据集

  3. 数据集 ID 字段中,输入一个唯一名称。如需了解详情,请参阅命名数据集

如需详细了解如何创建 BigQuery 数据集,请参阅创建数据集

配置 BigQuery Data Transfer 模块

借助 BigQuery Toolkit for SAP 的 BigQuery Data Transfer 模块,您可以构建从 SAP 系统到 BigQuery 的数据流水线。在此过程中,您需要创建一个批量传输配置,在其中指定要复制的 SAP 数据源、在 SAP 表和 BigQuery 表之间映射字段,以及通过配置数据复制设置来优化性能。

选择初始批量传输选项

选择您需要修改的批量传输配置的部分。

如需选择批量传输配置的某些部分,请执行以下操作:

  1. 在 SAP GUI 中,执行事务代码 /GOOG/SDK_IMG

    或者,执行事务代码 SPRO,然后点击 SAP Reference IMG

  2. 依次点击 ABAP SDK for Google Cloud > 基本设置 > BigQuery Data Transfer:设置维护

  3. 设置表下拉菜单中,选择批量传输

    对于新的批量传输配置,请将批量传输键字段留空。

  4. 点击执行图标。此时将显示 BigQuery Data Transfer 设置维护 - 批量传输屏幕。

指定表创建和其他常规特性

在 BigQuery 批量传输配置的初始部分中,您需要确定批量传输配置并指定关联的客户端密钥,此外还需要指定与创建目标 BigQuery 表相关的一些属性。

SAP 服务器会将批量传输配置保存为 /GOOG/BQTR_MASTR 自定义配置表中的记录。

您在以下步骤中指定的字段是批量传输配置的必填字段。

如需指定表属性,请执行以下操作:

  1. BigQuery Data Transfer 设置维护 - 批量传输屏幕中,点击附加行图标。

  2. 在所显示的行中,指定以下设置:

    1. 批量传输键字段中,定义此次传输的名称。此名称将成为该批量传输的主键。
    2. 若要使用源字段的标签或简短说明作为 BigQuery 中目标字段的名称,请点击使用自定义名称标志复选框。如需详细了解字段名称,请参阅字段的默认命名选项
    3. 如需存储触发插入的更改类型,并启用源表、SAP 服务器统计信息和 BigQuery 表之间的记录计数验证,请选中额外字段标志复选框。

      设置此标志后,BigQuery Toolkit for SAP 会向 BigQuery 表架构添加列。如需了解详情,请参阅用于记录更改和计数查询的额外字段

    4. 为了在遇到包含数据错误的记录时停止发送数据,系统会默认勾选 Break at First Error Flag(在遇到第一个错误标志时中断)复选框。我们建议将此选项保留为选中状态。如需了解详情,请参阅 BREAK 标志

    5. (可选)如需在数据块的字节大小超过 BigQuery 接受的 HTTP 请求的最大字节大小时自动减小数据块大小,请点击动态数据块大小标志复选框。如需详细了解动态数据块大小,请参阅动态数据块大小

    6. 如果遇到包含数据错误的记录,并且您希望跳过该记录并继续将记录插入 BigQuery 表中,请点击跳过无效记录标志复选框。我们建议您不要选中此复选框。如需了解详情,请参阅 SKIP 标志

    7. Google Cloud 键名称字段中,输入相应客户端密钥配置的名称。

      BigQuery Toolkit for SAP 会从客户端密钥配置中检索 Google Cloud 项目标识符。

    8. BigQuery 数据集字段中,输入您在创建 BigQuery 数据集部分中创建的目标 BigQuery 数据集的名称。

    9. 设置已激活标志字段中,点击复选框以启用批量传输配置。

    10. 点击保存

      批量传输记录会附加到 /GOOG/BQTR_MASTR 表中,系统会自动填充更改者更改时间更改位置字段。

    11. 点击显示表

      系统会显示新的批量传输记录,随后显示表特性条目面板。

指定表特性

您可以指定表属性(例如表名称和表分区),以及发送到 BigQuery 的每次传输或每个数据块中要包含的记录数。

您指定的设置将以记录形式存储在 /GOOG/BQTR_TABLE 配置表中。

这些设置对于大规模转移配置是可选的。

如需指定表属性,请执行以下操作:

  1. 点击附加行图标。

  2. SAP 数据源名称字段中,输入源 SAP 字典对象的名称,例如表、字典视图、CDS 视图或 CDS 实体。

  3. 外部表名称字段中,输入目标 BigQuery 表的名称。如果目标表尚不存在,则 BigQuery Toolkit for SAP 会创建使用此名称的表。如需了解 BigQuery 的表命名惯例,请参阅表命名

  4. 如需发送表中所有字段的未压缩数据,请选择发送未压缩标志。启用此设置后,BigQuery Toolkit for SAP 会使用源表中初始化字段的值复制源记录中的任何空字段。为了提升性能,请勿选择此标志。

    如果您只需发送特定字段的未压缩数据,请勿在表级别选择发送未压缩标志。而是应在字段级别为这些特定字段选择发送未压缩标志。借助此选项,您可以在将数据复制到 BigQuery 时保留特定字段的初始值,即使您压缩表数据的其余部分也是如此。如需了解如何在字段级别修改记录压缩,请参阅在字段级别更改记录压缩

    如需详细了解记录压缩行为,请参阅记录压缩

  5. (可选)在数据块大小字段中,指定要发送到 BigQuery 的每个数据块中可包含的记录数上限。我们建议您对 BigQuery Toolkit for SAP 使用默认数据块大小,即 10,000 条记录。如有需要,您可以将数据块的大小增加到最多 50,000 条记录,这是 BigQuery Toolkit for SAP 允许的最大数据块大小。

    如果源记录包含大量字段,则字段数可能会增加数据块的总字节大小,从而导致数据块错误。如果发生这种情况,请尝试减小数据块大小,从而缩小字节大小。如需了解详情,请参阅数据传输分块大小。或者,如需自动调整数据块大小,请启用动态数据块大小。如需了解详情,请参阅动态数据块大小

  6. (可选)在分区类型字段中,指定用于分区的时间增量。有效值为 HOURDAYMONTHYEAR。 如需了解详情,请参阅表分区

  7. (可选)在分区字段字段中,指定包含用于分区的时间戳的目标 BigQuery 表中的一个字段名称。指定字段分区时,还必须指定类型分区。如需了解详情,请参阅表分区

  8. 设置已激活标志字段中,点击复选框以启用表特性。如果未勾选设置已激活标志框,BigQuery Toolkit for SAP 会使用 SAP 源表名称和默认块大小创建 BigQuery 表,且没有分区。

  9. 点击保存

    您的特性将以记录形式存储在 /GOOG/BQTR_TABLE 配置表中,系统会自动填充更改者更改时间更改位置字段。

  10. 点击显示字段

    此时会显示新的表特性记录,后接字段映射条目面板。

自定义默认字段映射

如果源 SAP 表包含时间戳字段或布尔值,请更改默认数据类型映射,以准确反映目标 BigQuery 表中的数据类型。

您还可以更改其他数据类型以及用于目标字段的名称。

您可以直接在 SAP GUI 中修改默认映射,也可以将默认映射导出到电子表格或文本文件,以便其他人无需访问 SAP 服务器即可修改值。

如需详细了解默认字段映射以及您可以执行的更改,请参阅字段映射

如需自定义目标 BigQuery 字段的默认映射,请执行以下操作:

  1. BigQuery Data Transfer 设置维护 - 字段屏幕中,显示您正在配置的批量传输的默认字段映射。

  2. 根据需要修改外部数据元素列中的默认目标数据类型。具体来说,应该更改以下数据类型的目标数据类型:

    • 时间戳。将默认目标数据类型从 NUMERIC 更改为 TIMESTAMPTIMESTAMP (LONG)
    • 布尔值。将默认目标数据类型从 STRING 更改为 BOOLEAN
    • 十六进制。将默认目标数据类型从 STRING 更改为 BYTES

    要修改默认数据类型映射,请执行以下操作:

    1. 在需要修改的字段所在的行上,点击外部数据元素字段。
    2. 在选择数据类型的对话框中,选择所需的 BigQuery 数据类型。
    3. 确认您的更改,然后点击保存
  3. 如果您在 BigQuery Data Transfer 设置维护界面中指定了自定义名称标志,则可以根据需要在临时字段名称列中修改默认目标字段名称。

    您指定的值会替换外部字段名称列中显示的默认名称。

  4. 根据需要修改字段说明列中的默认目标字段说明。

  5. (可选)导出字段映射以进行外部修改。如需了解相关说明,请参阅在 CSV 文件中修改 BigQuery 字段映射

  6. 完成所有更改并且上传所有外部修改的值后,确认已选中设置已激活标志复选框。如果未选中设置已激活标志,BigQuery Toolkit for SAP 会使用默认值创建目标表。

  7. 点击保存

    更改将存储在 /GOOG/BQTR_FIELD 配置表中,系统会自动填充更改者更改时间更改位置字段。

在字段级别更改记录压缩

为了提高复制性能,BigQuery Toolkit for SAP 会通过省略源记录中的所有空字段来压缩记录,然后在 BigQuery 的目标表中使用 null 对这些字段进行初始化。不过,如果您需要将一些空字段及其初始值复制到 BigQuery,同时仍使用记录压缩,则可以为这些特定字段选择发送未压缩的标志

如需详细了解记录压缩行为,请参阅记录压缩

如需在字段级别更改记录压缩,请执行以下操作:

  1. BigQuery Data Transfer Settings Maintenance - Fields 屏幕中,显示您要配置批量传输的表的字段列表。

  2. 如需发送字段的未压缩数据,请选择与该字段对应的发送未压缩标志

  3. 点击保存

获取支持

Google Cloud 针对与 BigQuery Toolkit for SAP 的安装、配置、操作和维护相关的问题和疑问提供支持。不过,支持仅限于该工具包本身。

Google Cloud 不支持其他环境组件,例如网络基础架构、数据库、操作系统或第三方软件。对于与 BigQuery Toolkit for SAP 以外的任何环境组件相关的问题,请与相应的供应商或支持提供商联系。

对于 SAP 提供的功能(例如操作性数据配置 [ODP] 和 SAP Landscape Transformation [SLT]),请与 SAP 支持团队联系以寻求帮助。

如需排查 BigQuery Toolkit for SAP 的问题,请参阅BigQuery Toolkit for SAP 问题排查

如果您在解决 ABAP SDK for Google Cloud 问题时需要帮助,请执行以下操作: