云服务器价格_云数据库_云主机【优惠】最新活动-搜集站云资讯

大带宽_服务器防止ddos_优惠

小七 141 0

许多SAP Data Services(DS)应用程序使用SAP ECC数据作为源。现在,DS支持多种机制从sapecc提取数据。选哪一个?通常有一个首选方法,这取决于所需的功能和源系统的实际上下文中提供的功能。在本博客中,我讨论了所有不同的选项。

从为SAP源系统配置数据存储开始:

图1:SAP数据存储定义

强制设置为用户名和密码、SAP应用程序服务器的名称(或IP地址)、客户机和系统(实例)编号。

从单个表中提取时,请这样做在标准数据流中。从Data store Explorer中的元数据存储库导入表定义,并将其用作数据流中的源。

从KNA1客户主数据表中提取如下:

图2:数据流–从KNA1中提取

注意源表图标中的小红色三角形。这表示直接从SAP数据层提取数据。

这是最简单的方法。在源头系统层面不需要采取特殊措施。提取将作为SAP对话框作业运行。请注意,啥叫大数据,对话框作业有一个超时设置(系统可配置,通常为10、30、60分钟)。当数据提取需要较长时间时,DS作业将失败。

将where条件下推到基础数据库。这有利于提高工作绩效。另外,确保只提取真正需要的列。提取过程的持续时间与数据量呈线性关系,数据量等于记录数*平均记录大小。传输的数据越少,DS作业运行越快。

图3:查询转换–从KNA1中提取,排除过时记录

图4:生成的SQL代码–向下推where子句

这种方法在实现增量加载时特别有用。当源表包含具有上次修改时间戳的列时,可以轻松实现基于源的更改数据捕获(CDC)。跟踪在上一次增量提取中使用的时间戳(为此使用控制表),使用这些值初始化全局变量,并在查询转换的where子句中使用它们。

图5:查询转换–从MARA中提取最近创建或修改的记录

图6:生成的SQL代码–基于源代码的CDC

尽管where条件从正常数据流下推到基础数据库,连接不是(sort和group by操作也不是!),往往会导致糟糕的性能,尤其是在处理较大的数据量时。

当您想从MARA中提取物料主数据,并用MAKT的英文物料描述补充每条记录时,您可以构建这样的数据流:

图7:数据流-从MARA和MAKT中提取

图8:查询转换-在MANDT和MATNR列上连接MARA和MAKT

图9:生成的SQL代码-不连接

DS生成两个SQL语句。它首先从MARA中提取所有当前记录。然后为每个单独的记录检索相应的英文描述(MATNR=AIVariable\u 1和MANDT=AIVariable\u 2)。这种方法导致到底层数据库的往返次数与MARA表中的记录一样多!它仅在处理较小的数据集时有效。

您可以通过更改源表的属性来提高性能。

默认设置为:

图10:默认源表属性

使MARA成为驱动表(通过赋予它比MAKT更高的连接秩)并将MAKT缓存在内存中,从而导致完全的错误不同的SQL代码生成,没有到数据库的单一往返。MARA表在数据流中流动,MAKT表被缓存,物联网学什么,联接在DS内存中解析。

图11:修改的源表属性

图12:生成的SQL代码-cache MAKT

此方法的可行性受到两个参数的影响:

可用于缓存的内存量缓存MAKT表所需的时间

这对于较小的表非常有效。但是,当MAKT和MARA太大时,它也不是一个性能良好的解决方案

建议使用ABAP数据流从SAP表的连接中提取数据。

图13:ABAP数据流–从MARA和MAKT中提取数据

DS生成与源表和逻辑的属性相对应的ABAP代码数据流的。连接秩最高的表成为驱动表。同样在这种情况下,提取过程的持续时间与数据量呈线性关系:传输的数据越少,DS作业运行越快。

图14:生成的ABAP代码

ABAP代码被推送到SAP系统并在那里执行。程序结果仅发送回DS进行进一步处理。此方法仅在SAP系统开放供开发时有效!另外,什么叫大数据分析,确保:

ABAP执行选项设置为生成和执行。"在后台执行(批处理)"属性设置为"是",以避免SAP对话框作业超时。数据传输方法设置为RFC。必须在SAP系统中定义RFC目标。其他数据传输方法仅出于向上兼容的原因,不能再使用。它们都会导致性能下降。

图15:SAP数据存储定义

要在您的环境的非开发层执行相同的DS作业,请首先将ABAP程序从DEV传输到TST、PRD。设置ABAP execution选项以执行预加载并运行DS作业。它不会再次生成ABAP代码,而是执行传输的代码。

ABAP数据流也是一个方便的解决方案,用于为不包含最后修改时间戳列的ECC表实现增量加载。KNA1中的插入和修改在CDHDR和CDPOS表中注册。使用ABAP数据流将KNA1连接到这些表。确保CDHDR获得最高的连接秩,KNA1获得最低的连接秩,以便获得生成的最有效的代码。并包含where条件:

过滤掉当前客户仅获取最近修改的记录从日志表中的正确条目

图16:ABAP数据流–从KNA1中提取

图17:Query transform–将KNA1与CDHDR和CDPOS连接

图18:Query transform–从KNA1中提取最近创建或修改的记录

SAP提取器是为BW业务内容定制的。它们包含所有用于常见业务转换的逻辑、可能的聚合以及如何识别已发生的更改,因此非常适合实现增量加载。

DS提取器功能构建在操作数据提供(ODP)API之上。DS支持ODP API支持的所有类型的ODP源,包括CDC功能。