DataService操作手册

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

DataServices培训总结-操作手册
目录
一、DS简介 (2)
二、DS数据加载方式 (2)
三、DS进行数据抽取模型开发的基本过程 (3)
四、DS创建数据源系统和目标系统的数据存储 (3)
1、Oracle数据库作为数据源系统 (3)
2、ECC作为数据源系统 (4)
3、HANA数据库作为目标系统 (5)
五、全量加载过程 (5)
1、创建Project和Job (5)
2、导入源表的元数据到资源库 (6)
3、创建Data Flow (6)
4、设置源表和目标表 (7)
5、手工执行Job (7)
六、基于表比较的增量加载 (8)
1、在Job下定义工作流 (8)
2、在工作流中定义数据流 (8)
3、加入Table_Comparison控件 (9)
4、设置Table_Comparison控件 (9)
七、基于时间戳的增量加载 (10)
1、在Job下定义工作流 (10)
2、定义Script控件 (10)
3、定义处理新增数据的数据流和处理更新数据的数据流 (11)
八、DS中常用控件介绍 (13)
1、Key_Generation (13)
2、Case (13)
3、Merge (14)
4、Validation (15)
5、设置过滤器和断点 (15)
九、定义Job定期执行 (16)
1、登录Data Services Management Console (16)
2、定义Batch Job Schedules (17)
十、其他注意事项 (18)
一、DS简介
SAP BusinessObjects Data Services是通过SAP HANA认证的ETL工具。

采用数据批量处理的方式,定期执行后台作业,将数据从多个业务系统中抽取出来,并进行必要的处理(转换,合并,过滤,清洗),然后再加载到HANA数据库中。

DS的组件之间的关系:
◆Management Consol:
管理控制台是网页版DS管理工具,可以进行一些系统配置和定义Job执行
◆Designer:
Designer是一个具有易于使用的图形用户界面的开发工具。

它允许开发人员定义包括数据映射,转换和控制逻辑的数据管理应用程序,创建包含工作流(作业执行定义)和数据流(数据转换定义)的应用程序
◆Repository:
应用程序设计器使用的本地资源库用来存储Data Services对象(如项目,作业,工作流,和数据流)的定义和源和目标的元数据
◆Job server:
作业服务器启动数据移动的从多个不同种类的源集成数据的引擎,执行复杂的数据转换,并管理从ERP系统和其他源的抽取和事务
二、DS数据加载方式
◆全量加载
◆增量上载
a)基于表比较
作业在执行时读取数据源和目标中的全部数据,在服务器的内存中进行比较,计算数据差异
b)时间戳增量
需要在数据源中添加时间戳字段,一般为创建时间和最后修改时间,在抽取作业中定义对两个时间戳字段进行对比,符合条件的创建时间条目进行插入,符合条件的修改时间条目进行更新
c)利用数据库CDC(changed data capture)
首先需要开启数据库的CDC服务,为数据库实例启用CDC功能,为源表启用CDC功能。

在这种模式下,DS的增量更新不再直接访问源表,而是在与源表相关的变更记录表中读取增量
三、DS进行数据抽取模型开发的基本过程
◆为数据源创建数据存储
◆导入源表的元数据到资源库
◆为SAP HANA目标系统创建数据存储
◆新建DS项目和批量作业
◆新建DS数据流:定义源表和目标表,定义变量、编辑Query和Map_CDC_Operation ◆执行批量作业
四、DS创建数据源系统和目标系统的数据存储
1、Oracle数据库作为数据源系统
登录Data Services Designer,在本地对象库的数据存储页签中单击鼠标右键,选择新建菜单
创建数据存储“EAM_TEST”,在弹出的对话框中输入EAM数据库的连接信息
2、ECC作为数据源系统
同样在创建DataStore时,输入ECC的连接信息
3、HANA数据库作为目标系统
在创建DataStore时,输入HANA数据库的连接信息
五、全量加载过程
1、创建Project和Job
在本地对象库的project页签中单击鼠标右键,选择新建菜单,创建项目“ERP_DS”。

双击该项目,在“Project Area”,可以在该项目下创建Job
2、导入源表的元数据到资源库
在本地对象库的数据存储页签中,选择源系统的数据存储,单击鼠标邮件,选择“Import By Name”,输入需要导入到资源库的表名称。

导入成功后,在数据存储的table目录下可以看到导入的表
3、创建Data Flow
单击“General”Job,在右边空白区域单击鼠标邮件,选择“Add New”-“Data Flow”
4、设置源表和目标表
单击创建的Data Flow,将需要导入到HANA数据库中的源表拖入到Data Flow区域中,将Data Flow区域右侧的工具条中的模版表拖入Data Flow区域创建模版表
输入模版表名称、HANA目标系统的数据存储、HANA数据库存放DS抽取数据表的用户名。

连接源表和目标表
双击模版表,设置“Options”中的“Use NVARCHAR for VARCHAR”
5、手工执行Job
选择Job,单击鼠标右键,选择“Execute”
执行成功之后,在HANA数据库中的ERPDSUSER下可以看到“T161T”,可以查看数据表的内容。

执行过程信息和结果可以在监控器中查看。

六、基于表比较的增量加载
1、在Job下定义工作流
2、在工作流中定义数据流
在数据流中定义源表和模版表,执行Job,执行成功之后,在目标系统数据存储的Template Table目录下可以看到创建的模版表
3、加入Table_Comparison控件
选择模版表,单击鼠标邮件,选择“Import Table”。

模版表会更新为Tables目录下的数据表。

通过将转换-数据集成中的“Table_Comparison”控件拖入到数据流中的方式添加“Table_Comparison”控件
将源表连接“Table_Comparison”控件,“Table_Comparison”控件连接目标表。

4、设置Table_Comparison控件
双击“Table_Comparison”控件,设置相关参数:比较的目标表、表的主键,需要比较的字段。

当需要比较的字段为空时,会比较所有字段。

建议按照需要填写需要比较的字段,可以加快处理速度。

保存后执行Job。

七、基于时间戳的增量加载
1、在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控件,设置CDC Columns
同样的方式定义“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控件,设置“Validation Rule”
5、设置过滤器和断点
过滤器和断点结合使用,用于设置Debug的条件
选择源表到目标表的连接线,单击鼠标右键,选择Set Filter/Breakpoint,设置Debug条件(当满足某种条件时进入断点,或者在满足过滤条件的同时执行多少条数据后时进入断点)
选择Job,单击鼠标右键,选择Start debug
工具栏上的按钮可以控制执行下一条数据、继续执行、终止Debug
Debug过程中进入断点后,可以一次查看数据加载结果
九、定义Job定期执行
1、登录Data Services Management Console 单击工具栏的“Data Services Management Console”按钮
进入Data Services Management Console的登录界面
单击进入Administrator界面
2、定义Batch Job Schedules
在Batch Job Configuration页签选择Add Schedules
进入批量执行Job的设置界面
可以设置每周的某一天执行(一周执行一次)或则每月的某一天执行(一个月执行一次),也可以设置为每天都执行。

都选“Recurring”则会定期循环执行,否则只执行一次。

可以设置一天执行一次,也可以一天执行多次,设置开始执行时间。

上图中如果设置为一天多次执行,开始时间为上午1点,持续时间为600分钟,间隔时间为360分钟,则Job会在一天的上午1点和上午6点各执行一次。

如果设置时间间隔为240分钟,则Job会在一天的上午1点、上午5点和上午9点各执行一次。

(总持续时间不超过10小时)。

十、其他注意事项
1、客户端安装包需要注意和服务器DS版本一致
2、在第一次登录CMS信息时,无法成功。

ping sapdstest也失败,需要在host文件中添加
对应的地址和域名
3、连接Oracle数据库作为数据源时,需要在客户端上安装Oracle客户端,设置文件,设置
环境变量ORACLE_HOME之后重启服务器;连接HANA数据库时,需要安装HANA客户端
4、在连接ECC作为数据源时,需要开启系统跨客户端编辑权限
5、在HANA中新建ERPDSUSER作为存放DS抽取表的Schema,将ERPDSUSER给SLTADM赋
权限,包括查询和创建的权限
6、全量抽取时,目标表不能使用导入表,需要使用模版表,模版表每次会删除重建,导入
表会出现主键重复的错误提示
7、基于时间戳的增量加载,源表中需要有创建时间和更改时间两个字段,分别处理新增和
修改的数据
8、如果只是设置过滤器而没有设置断点,在进行Debug时,Job会执行成功,过滤器有效。

如果不进行Debug,直接执行,设置的过滤器不起作用。

相关文档
最新文档