1、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、加
2、入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 Schedul
3、es 17 十、其他注意事项 18 一、DS介绍 SAP BusinessObjects Data Services是经过SAP HANA认证ETL工具。 采取数据批量处理方法,定时实施后台作业,将数据从多个业务系统中抽取出来,并进行必需处理(转换,合并,过滤,清洗),然后再加载到HANA数据库中 。 DS组件之间关系: u Management Consol: 管理控制台是网页版DS管理工具,能够进行部分系统配置和定义Job实施 u Designer: Designer是一个含有易于使用图形用户界面开发工具。它许可开发人员定 义包含
4、数据映射,转换和控制逻辑数据管理应用程序,创建包含工作流(作业实施定义)和数据流 (数据转换定义)应用程序 u Repository: 应用程序设计器使用当地资源库用来存放Data Services对象(如项目,作业,工作流,和数据流)定义和源和目标元数据 u Job server: 作业服务器开启数据移动从多个不一样种类源集成数据引擎,实施复杂数据转换,并管理从ERP系统和其它源抽取和事务 二、DS数据加载方法 u 全量加载 u 增量上载 a) 基于表比较 作业在实施时读取数据源和目标中全部数据,在服务器内存中进行比较,计算数据差异 b) 时间
5、戳增量 需要在数据源中添加时间戳字段,通常为创建时间和最终修改时间,在抽取作业中定义对两个时间戳字段进行对比,符合条件创建时间条目进行插入,符合条件修改时间条目进行更新 c) 利用数据库CDC(changed data capture) 首先需要开启数据库CDC服务,为数据库实例启用CDC功效,为源表启用CDC功效。在这种模式下,DS增量更新不再直接访问源表,而是在和源表相关变更统计表中读取增量 三、DS进行数据抽取模型开发基础过程 u 为数据源创建数据存放 u 导入源表元数据到资源库 u 为SAP HANA目标系统创建数据存放 u 新建DS项目和批量作业
6、u 新建DS数据流:定义源表和目标表,定义变量、编辑Query和Map_CDC_Operation u 实施批量作业 四、DS创建数据源系统和目标系统数据存放 1、Oracle数据库作为数据源系统 登录Data Services Designer,在当地对象库数据存放页签中单击鼠标右键,选择新建菜单 创建数据存放“EAM_TEST”,在弹出对话框中输入EAM数据库连接信息 2、ECC作为数据源系统 一样在创建DataStore时,输入ECC连接信息 3、HANA数据库作为目标系统 在创建DataStore时,输入HANA数据库连接信息 五、全量加载过
7、程 1、创建Project和Job 在当地对象库project页签中单击鼠标右键,选择新建菜单,创建项目“ERP_DS”。双击该项目,在“Project Area”,能够在该项目下创建Job 2、导入源表元数据到资源库 在当地对象库数据存放页签中,选择源系统数据存放,单击鼠标邮件,选择“Import By Name”,输入需要导入到资源库表名称。导入成功后,在数据存放table目录下能够看到导入表 3、创建Data Flow 单击“General”Job,在右边空白区域单击鼠标邮件,选择“Add New”-“Data Flow” 4、设置源表和目标表 单击创建Da
8、ta Flow,将需要导入到HANA数据库中源表拖入到Data Flow区域中,将Data Flow区域右侧工具条中模版表拖入Data Flow区域创建模版表 输入模版表名称、HANA目标系统数据存放、HANA数据库存放DS抽取数据表用户名。 连接源表和目标表 双击模版表,设置“Options”中“Use NVARCHAR for VARCHAR” 5、手工实施Job 选择Job,单击鼠标右键,选择“Execute” 实施成功以后,在HANA数据库中ERPDSUSER下能够看到“T161T”,能够查看数据表内容。实施过程信息和结果能够在监控器中查看。 六、基于
9、表比较增量加载 1、在Job下定义工作流 2、在工作流中定义数据流 在数据流中定义源表和模版表,实施Job,实施成功以后,在目标系统数据存放Template Table目录下能够看到创建模版表 3、加入Table_Comparison控件 选择模版表,单击鼠标邮件,选择“Import Table”。模版表会更新为Tables目录下数据表。 经过将转换-数据集成中“Table_Comparison”控件拖入到数据流中方法添加“Table_Comparison”控件 将源表连接“Table_Comparison”控件,“Table_Comparison”控件连接目标表
10、 4、设置Table_Comparison控件 双击“Table_Comparison”控件,设置相关参数:比较目标表、表主键,需要比较字段。当需要比较字段为空时,会比较全部字段。提议根据需要填写需要比较字段,能够加紧处理速度。保留后实施Job。 七、基于时间戳增量加载 1、在Job下定义工作流 在工作流中定义Script控件,读取数据抽取后最新创建时间和更改时间,定义一个处理新增数据数据流和一个处理更新数据数据流 2、定义Script控件 在Script控件中需要使用变量存放读取最新创建时间和最新更改时间。 选择Job,在工具栏选择“Variables”按钮
11、创建全局变量 双击“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 一样方法定义
12、EBAN_Upd”数据流,在Querywhere条件中定义为 在Query数据结果中增加“Sequence”和“Operation”两个字段。“Sequence”字段使用函数gen_row_num()进行赋值,“Operation”赋值为‘U’ 保留后,实施Job。能够经过修改源系统数据测试基于时间戳增量加载。 八、DS中常见控件介绍 1、Key_Generation 在源表基础上为目标表重新生成主键 在Query中增加“ID”字段,赋值为0。 在Key_Generation控件中设置目标表、主键字段、主键值增加量 2、Case 将源表依据规则进行拆分
13、 双击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条件 选择源表到目标表连接线,单
14、击鼠标右键,选择Set Filter/Breakpoint,设置Debug条件(当满足某种条件时进入断点,或在满足过滤条件同时实施多少条数据后时进入断点) 选择Job,单击鼠标右键,选择Start debug 工具栏上按钮能够控制实施下一条数据、继续实施、终止Debug Debug过程中进入断点后,能够一次查看数据加载结果 九、定义Job定时实施 1、登录Data Services Management Console 单击工具栏“Data Services Management Console”按钮 进入Data Services Management Co
15、nsole登录界面 单击进入Administrator界面 2、定义Batch Job Schedules 在Batch Job Configuration页签选择Add Schedules 进入批量实施Job设置界面 能够设置每七天某一天实施(一周实施一次)或则每个月某一天实施(30天实施一次),也能够设置为天天全部实施。全部选“Recurring”则会定时循环实施,不然只实施一次。 能够设置一天实施一次,也能够一天实施数次,设置开始实施时间。 上图中假如设置为一天数次实施,开始时间为早晨1点,连续时间为600分钟,间隔时间为360分钟,则Job会在一天早晨
16、1点和早晨6点各实施一次。假如设置时间间隔为240分钟,则Job会在一天早晨1点、早晨5点和早晨9点各实施一次。(总连续时间不超出10小时)。 十、其它注意事项 1、 用户端安装包需要注意和服务器DS版本一致 2、 在第一次登录CMS信息时,无法成功。ping sapdstest也失败,需要在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,直接实施,设置过滤器不起作用






