1、DataServices培训总结-操作手册目录一、DS简介2二、DS数据加载方式2三、DS进行数据抽取模型开发的基本过程3四、DS创建数据源系统和目标系统的数据存储31、Oracle数据库作为数据源系统32、ECC作为数据源系统43、HANA数据库作为目标系统5五、全量加载过程51、创建Project和Job52、导入源表的元数据到资源库63、创建Data Flow64、设置源表和目标表75、手工执行Job7六、基于表比较的增量加载81、在Job下定义工作流82、在工作流中定义数据流83、加入Table_Comparison控件94、设置Table_Comparison控件9七、基于时间戳的增
2、量加载101、在Job下定义工作流102、定义Script控件103、定义处理新增数据的数据流和处理更新数据的数据流11八、DS中常用控件介绍131、Key_Generation132、Case133、Merge144、Validation155、设置过滤器和断点15九、定义Job定期执行161、登录Data Services Management Console162、定义Batch Job Schedules17十、其他注意事项18一、DS介绍SAP BusinessObjects Data Services是经过SAP HANA认证ETL工具。 采取数据批量处理方法,定时实施后台作业,将
3、数据从多个业务系统中抽取出来,并进行必需处理(转换,合并,过滤,清洗),然后再加载到HANA数据库中 。DS组件之间关系: u Management Consol: 管理控制台是网页版DS管理工具,能够进行部分系统配置和定义Job实施 u Designer: Designer是一个含有易于使用图形用户界面开发工具。它许可开发人员定义包含数据映射,转换和控制逻辑数据管理应用程序,创建包含工作流(作业实施定义)和数据流 (数据转换定义)应用程序 u Repository: 应用程序设计器使用当地资源库用来存放Data Services对象(如项目,作业,工作流,和数据流)定义和源和目标元数据 u
4、Job server: 作业服务器开启数据移动从多个不一样种类源集成数据引擎,实施复杂数据转换,并管理从ERP系统和其它源抽取和事务 二、DS数据加载方法u 全量加载 u 增量上载 a) 基于表比较 作业在实施时读取数据源和目标中全部数据,在服务器内存中进行比较,计算数据差异 b) 时间戳增量 需要在数据源中添加时间戳字段,通常为创建时间和最终修改时间,在抽取作业中定义对两个时间戳字段进行对比,符合条件创建时间条目进行插入,符合条件修改时间条目进行更新 c) 利用数据库CDC(changed data capture) 首先需要开启数据库CDC服务,为数据库实例启用CDC功效,为源表启用CDC
5、功效。在这种模式下,DS增量更新不再直接访问源表,而是在和源表相关变更统计表中读取增量 三、DS进行数据抽取模型开发基础过程u 为数据源创建数据存放 u 导入源表元数据到资源库u 为SAP HANA目标系统创建数据存放u 新建DS项目和批量作业u 新建DS数据流:定义源表和目标表,定义变量、编辑Query和Map_CDC_Operation u 实施批量作业 四、DS创建数据源系统和目标系统数据存放1、Oracle数据库作为数据源系统登录Data Services Designer,在当地对象库数据存放页签中单击鼠标右键,选择新建菜单创建数据存放“EAM_TEST”,在弹出对话框中输入EAM数
6、据库连接信息2、ECC作为数据源系统一样在创建DataStore时,输入ECC连接信息3、HANA数据库作为目标系统在创建DataStore时,输入HANA数据库连接信息五、全量加载过程1、创建Project和Job在当地对象库project页签中单击鼠标右键,选择新建菜单,创建项目“ERP_DS”。双击该项目,在“Project Area”,能够在该项目下创建Job2、导入源表元数据到资源库在当地对象库数据存放页签中,选择源系统数据存放,单击鼠标邮件,选择“Import By Name”,输入需要导入到资源库表名称。导入成功后,在数据存放table目录下能够看到导入表3、创建Data Flo
7、w 单击“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
8、下能够看到“T161T”,能够查看数据表内容。实施过程信息和结果能够在监控器中查看。六、基于表比较增量加载1、在Job下定义工作流2、在工作流中定义数据流在数据流中定义源表和模版表,实施Job,实施成功以后,在目标系统数据存放Template Table目录下能够看到创建模版表3、加入Table_Comparison控件选择模版表,单击鼠标邮件,选择“Import Table”。模版表会更新为Tables目录下数据表。经过将转换-数据集成中“Table_Comparison”控件拖入到数据流中方法添加“Table_Comparison”控件将源表连接“Table_Comparison”控件,“
9、Table_Comparison”控件连接目标表。4、设置Table_Comparison控件双击“Table_Comparison”控件,设置相关参数:比较目标表、表主键,需要比较字段。当需要比较字段为空时,会比较全部字段。提议根据需要填写需要比较字段,能够加紧处理速度。保留后实施Job。七、基于时间戳增量加载1、在Job下定义工作流在工作流中定义Script控件,读取数据抽取后最新创建时间和更改时间,定义一个处理新增数据数据流和一个处理更新数据数据流2、定义Script控件在Script控件中需要使用变量存放读取最新创建时间和最新更改时间。选择Job,在工具栏选择“Variables”按钮
10、,创建全局变量双击“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”数据流,在Querywhere条件中
11、定义为在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
12、3、Merge将含有一样数据结构源表进行合并在Query中增加输出字段Source,赋值为1。在Query1中增加输出字段Source,赋值为2。在Merge中将两个表内容合并输出。4、Validation提取数据源表中正确数据,将错误数据单独存放在其它表中双击Validation控件,设置“Validation Rule”5、设置过滤器和断点过滤器和断点结合使用,用于设置Debug条件选择源表到目标表连接线,单击鼠标右键,选择Set Filter/Breakpoint,设置Debug条件(当满足某种条件时进入断点,或在满足过滤条件同时实施多少条数据后时进入断点)选择Job,单击鼠标右键,选择
13、Start debug工具栏上按钮能够控制实施下一条数据、继续实施、终止DebugDebug过程中进入断点后,能够一次查看数据加载结果九、定义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设置界面 能够设置每七天某一
14、天实施(一周实施一次)或则每个月某一天实施(30天实施一次),也能够设置为天天全部实施。全部选“Recurring”则会定时循环实施,不然只实施一次。能够设置一天实施一次,也能够一天实施数次,设置开始实施时间。上图中假如设置为一天数次实施,开始时间为早晨1点,连续时间为600分钟,间隔时间为360分钟,则Job会在一天早晨1点和早晨6点各实施一次。假如设置时间间隔为240分钟,则Job会在一天早晨1点、早晨5点和早晨9点各实施一次。(总连续时间不超出10小时)。十、其它注意事项1、 用户端安装包需要注意和服务器DS版本一致2、 在第一次登录CMS信息时,无法成功。ping sapdstest也
15、失败,需要在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,直接实施,设置过滤器不起作用