SAP DataService中文操作手册Word格式文档下载.docx
《SAP DataService中文操作手册Word格式文档下载.docx》由会员分享,可在线阅读,更多相关《SAP DataService中文操作手册Word格式文档下载.docx(20页珍藏版)》请在冰点文库上搜索。
应用程序设计器使用的本地资源库用来存储DataServices对象(如项目,作业,工作流,和数据流)的定义和源和目标的元数据
◆Jobserver:
作业服务器启动数据移动的从多个不同种类的源集成数据的引擎,执行复杂的数据转换,并管理从ERP系统和其他源的抽取和事务
二、DS数据加载方式
◆全量加载
◆增量上载
a)基于表比较
作业在执行时读取数据源和目标中的全部数据,在服务器的内存中进行比较,计算数据差异
b)时间戳增量
需要在数据源中添加时间戳字段,一般为创建时间和最后修改时间,在抽取作业中定义对两个时间戳字段进行对比,符合条件的创建时间条目进行插入,符合条件的修改时间条目进行更新
c)利用数据库CDC(changeddatacapture)
首先需要开启数据库的CDC服务,为数据库实例启用CDC功能,为源表启用CDC功能。
在这种模式下,DS的增量更新不再直接访问源表,而是在与源表相关的变更记录表中读取增量
三、DS进行数据抽取模型开发的基本过程
◆为数据源创建数据存储
◆导入源表的元数据到资源库
◆为SAPHANA目标系统创建数据存储
◆新建DS项目和批量作业
◆新建DS数据流:
定义源表和目标表,定义变量、编辑Query和Map_CDC_Operation
◆执行批量作业
四、DS创建数据源系统和目标系统的数据存储
1、Oracle数据库作为数据源系统
登录DataServicesDesigner,在本地对象库的数据存储页签中单击鼠标右键,选择新建菜单
创建数据存储“EAM_TEST”,在弹出的对话框中输入EAM数据库的连接信息
2、ECC作为数据源系统
同样在创建DataStore时,输入ECC的连接信息
3、HANA数据库作为目标系统
在创建DataStore时,输入HANA数据库的连接信息
五、全量加载过程
1、创建Project和Job
在本地对象库的project页签中单击鼠标右键,选择新建菜单,创建项目“ERP_DS”。
双击该项目,在“ProjectArea”,可以在该项目下创建Job
2、导入源表的元数据到资源库
在本地对象库的数据存储页签中,选择源系统的数据存储,单击鼠标邮件,选择“ImportByName”,输入需要导入到资源库的表名称。
导入成功后,在数据存储的table目录下可以看到导入的表
3、创建DataFlow
单击“General”Job,在右边空白区域单击鼠标邮件,选择“AddNew”-“DataFlow”
4、设置源表和目标表
单击创建的DataFlow,将需要导入到HANA数据库中的源表拖入到DataFlow区域中,将DataFlow区域右侧的工具条中的模版表拖入DataFlow区域创建模版表
输入模版表名称、HANA目标系统的数据存储、HANA数据库存放DS抽取数据表的用户名。
连接源表和目标表
双击模版表,设置“Options”中的“UseNVARCHARforVARCHAR”
5、手工执行Job
选择Job,单击鼠标右键,选择“Execute”
执行成功之后,在HANA数据库中的ERPDSUSER下可以看到“T161T”,可以查看数据表的内容。
执行过程信息和结果可以在监控器中查看。
六、基于表比较的增量加载
1、在Job下定义工作流
2、在工作流中定义数据流
在数据流中定义源表和模版表,执行Job,执行成功之后,在目标系统数据存储的TemplateTable目录下可以看到创建的模版表
3、加入Table_Comparison控件
选择模版表,单击鼠标邮件,选择“ImportTable”。
模版表会更新为Tables目录下的数据表。
通过将转换-数据集成中的“Table_Comparison”控件拖入到数据流中的方式添加“Table_Comparison”控件
将源表连接“Table_Comparison”控件,“Table_Comparison”控件连接目标表。
4、设置Table_Comparison控件
双击“Table_Comparison”控件,设置相关参数:
比较的目标表、表的主键,需要比较的字段。
当需要比较的字段为空时,会比较所有字段。
建议按照需要填写需要比较的字段,可以加快处理速度。
保存后执行Job。
七、基于时间戳的增量加载
在工作流中定义Script控件,读取数据抽取后最新的创建时间和更改时间,定义一个处理新增数据的数据流和一个处理更新数据的数据流
2、定义Script控件
在Script控件中需要使用变量存放读取的最新的创建时间和最新的更改时间。
选择Job,在工具栏选择“Variables”按钮,创建全局变量
双击“Script”控件,编写SQL语句,从HANA数据库表中读取最新的创建时间和更改时间
3、定义处理新增数据的数据流和处理更新数据的数据流
双击“EBAN_New”数据流,加载源表,Query,Map_CDC_Operation控件和目标表
双击Query,在输出字段中增加“Sequence”和“Operation”两个字段。
“Sequence”字段使用函数gen_row_num()进行赋值,“Operation”赋值为‘I’
在Quey中设置Where条件
双击Map_CDC_Operation控件,设置CDCColumns
同样的方式定义“EBAN_Upd”数据流,在Query的where条件中定义为
在Query的数据结果中增加“Sequence”和“Operation”两个字段。
“Sequence”字段使用函数gen_row_num()进行赋值,“Operation”赋值为‘U’
保存后,执行Job。
可以通过修改源系统数据测试基于时间戳的增量加载。
八、DS中常用控件介绍
1、Key_Generation
在源表基础上为目标表重新生成主键
在Query中增加“ID”字段,赋值为0。
在Key_Generation控件中设置目标表、主键字段、主键值增加量
2、Case
将源表根据规则进行拆分
双击Case控件,设置拆分条件
当SOURCE=1时,输出SPFLI_1,当SOURCE=2时,输出SPFLI_2
3、Merge
将具有同样数据结构的源表进行合并
在Query中增加输出字段Source,赋值为1。
在Query1中增加输出字段Source,赋值为2。
在Merge中将两个表的内容合并输出。
4、Validation
提取数据源表中的正确数据,将错误数据单独存放在其他表中
双击Validation控件,设置“ValidationRule”
5、设置过滤器和断点
过滤器和断点结合使用,用于设置Debug的条件
选择源表到目标表的连接线,单击鼠标右键,选择SetFilter/Breakpoint,设置Debug条件(当满足某种条件时进入断点,或者在满足过滤条件的同时执行多少条数据后时进入断点)
选择Job,单击鼠标右键,选择Startdebug
工具栏上的按钮可以控制执行下一条数据、继续执行、终止Debug
Debug过程中进入断点后,可以一次查看数据加载结果
九、定义Job定期执行
1、登录DataServicesManagementConsole
单击工具栏的“DataServicesManagementConsole”按钮
进入DataServicesManagementConsole的登录界面
单击进入Administrator界面
2、定义BatchJobSchedules
在BatchJobConfiguration页签选择AddSchedules
进入批量执行Job的设置界面
可以设置每周的某一天执行(一周执行一次)或则每月的某一天执行(一个月执行一次),也可以设置为每天都执行。
都选“Recurring”则会定期循环执行,否则只执行一次。
可以设置一天执行一次,也可以一天执行多次,设置开始执行时间。
上图中如果设置为一天多次执行,开始时间为上午1点,持续时间为600分钟,间隔时间为360分钟,则Job会在一天的上午1点和上午6点各执行一次。
如果设置时间间隔为240分钟,则Job会在一天的上午1点、上午5点和上午9点各执行一次。
(总持续时间不超过10小时)。
十、其他注意事项
1、客户端安装包需要注意和服务器DS版本一致
2、在第一次登录CMS信息时,无法成功。
pingsapdstest也失败,需要在host文件中添加对应的地址和域名
3、连接Oracle数据库作为数据源时,需要在客户端上安装Oracle客户端,设置tnsname.ora文件,设置环境变量ORACLE_HOME之后重启服务器;
连接HANA数据库时,需要安装HANA客户端
4、在连接ECC作为数据源时,需要开启系统跨客户端编辑权限
5、在HANA中新建ERPDSUSER作为存放DS抽取表的Schema,将ERPDSUSER给SLTADM赋权限,包括查询和创建的权限
6、全量抽取时,目标表不能使用导入表,需要使用模版表,模版表每次会删除重建,导入表会出现主键重复的错误提示
7、基于时间戳的增量加载,源表中需要有创建时间和更改时间两个字段,分别处理新增和修改的数据
8、如果只是设置过滤器而没有设置断点,在进行Debug时,Job会执行成功,过滤器有效。
如果不进行Debug,直接执行,设置的过滤器不起作用