SAP ERP 数据源
Google Cloud Cortex Framework 数据基础层(适用于 SAP ERP)需要 连接到源系统原始数据。SAP ECC 和 SAP S/4HANA 均受支持。
在部署 Cortex Framework 内容之前,必须将相关的 SAP ERP 表复制到 BigQuery 中。您可以通过 将数据放入专用的 原始层 数据集 以进行变更数据捕获 (CDC) 处理,或者使用已建立的 CDC 流水线直接向数据基础层馈送数据来实现此目的。如需了解详情,请参阅 复制 SAP ERP 数据的技术要求。
您可以使用任意复制工具,前提是该工具能够以原始表格式将数据复制到 BigQuery。例如, Google Cloud 解决方案包括 BigQuery Connector for SAP(需要 SAP SLT), 和 BigQuery Toolkit for SAP。
为确保从 SAP ERP 复制的原始数据集与 Cortex Framework 数据基础层之间的兼容性,请确保满足以下要求。
复制 SAP ERP 数据的技术要求
请务必查看并满足以下技术要求,以便将 SAP 数据复制到 BigQuery 中的 Cortex Framework。
原始数据结构:来自 ECC 或 S/4HANA 的数据应以与 SAP 中的基本表相同的结构放入 BigQuery 中 ,且不进行业务转换。必须使用 SAP 中存在的所需字段名称、类型和粒度复制表。
表配置:要转换的表列表在
table_settings.yaml文件(位于config/cortex/data_foundation/sap下)中定义。如果在部署期间缺少必需的表,则依赖于该表的特定数据产品将失败。元数据要求:您必须从 SAP 来源复制表
DD03L。此表对于依赖项解析器至关重要,因为它包含字段元数据和键。大小写:BigQuery 中复制的 SAP 表的名称 必须采用小写形式,以确保 Cortex Framework 数据模型 的兼容性(例如, SAP 表
MARA在 BigQuery 中变为mara)。对象名称(列)和特殊字符:对于包含特殊字符(如
/、-或前导下划线_)的对象名称(列),Cortex 期望采用通用清理模式:- 所有非字母数字字符都将替换为下划线
_。 - 不允许使用前导下划线和数字。例如,
/GOOG/TEST变为goog_test,_DATAAGING变为dataaging。如果您的复制工具保留了前导下划线,则需要在数据基础层中执行规范化步骤(别名)。
- 所有非字母数字字符都将替换为下划线
数据传播字段:为支持 CDC(变更数据捕获)和 数据传播,复制的 SAP 表需要具有:
- 一个名为
operation_flag的操作标志(L= 初始加载,I= 插入,U= 更新,D= 删除)。 - 一个名为
recordstamp的时间戳(在加载时填充当前时间戳)。 - 可选:在
复制的
_DS_RAW表中选择一个额外的字段is_deleted(BOOLEAN)(在初始加载时默认为 false)。Cortex 生成的运行时视图会引用此列,但如果复制工具不生成此列,则可以在执行之前从 CDC 和视图模板中移除此列。
- 一个名为
数据类型:SAP 数据类型与 BigQuery 数据类型之间的必要映射,以确保兼容性:
标准操作所必需的:
数据类型 SAP 数据类型 BigQuery 说明 DATS DATE日期数据类型 TIMS TIME时间数据类型 强烈建议使用,以确保准确性和兼容性:
CURR(货币)和QUAN(数量)映射到NUMERIC或BIGNUMERIC(避免使用FLOAT64,以防止 财务计算中出现舍入错误)。NUMC(数字字符)映射到STRING(保留文档编号和商品编号的前导零,确保联接成功)。
载荷压缩:为防止 BigQuery 中的空 SAP 列(初始值 (如空格或零))填充
NULL,请确保在连接器 配置中停用载荷压缩(或启用“发送未压缩”)。这样可确保空字符串或零在目标中保留原样,而不是默认为NULL。