SAP Data Services Designer

SAP DATA SERVICES DESIGNER工具介绍和基础使用(抽表)

接下来简称DS

SAP BusinessObjects Data Service 是通过SAP HANA认证的ETL工具。采用数据批量处理的方式,定期执行后台作业,将数据从多个业务系统中抽取出来,并进行必要的处理(转换,合并,过滤,清晰),然后在加载到HANA数据库中。

DS组件之间的关系:

20200811145254657
Designer 用户可在此界面1. 创建、测试以及执行填充数据仓库的作业
2. 创建并通过拖拽的方法连接对象形成流程图
3. 在流程图中打开编辑修改对象的配置
4. 定义数据映像、转换以及逻辑控制
5. 通过将对象组合到工作流(作业执行定义)和数据流(数据转换定义)中来创建应用程序
Job Server 启动数据服务处理的引擎以及数据服务套件与其他组件的接口的引擎的应用程序。
Engine 执行在Designer中定义的各个作业,以有效地完成已定义的任务。
Repository 存储Designer预定义系统对象和用户定义对象(包括源和目标元数据以及转换规则)的数据库。 创建一个本地存储库,然后创建一个中央存储库,以与其他用户共享对象并进行版本控制。
Access Server 在Web应用程序与数据服务作业服务器和引擎之间传递消息。 提供用于请求响应处理的可靠且可扩展的接口。
Administrator 提供以下基于浏览器的数据服务资源管理的Web管理员:
1. 计划,监视和执行批处理作业
2. 配置,启动和停止实时服务
3. 配置作业服务器,访问服务器和存储库使用情况
4. 配置和管理适配器
5. 管理用户
6. 通过Web服务发布批处理作业和实时服务
用户界面介绍
QQ截图20210318111958

Projects(项目):项目包含作业,工作流和数据流等子对象,项目是Data Services的最高级对象,主要用于组织管理子对象,一个项目通常包含多个作业

Job(作业):可独立安排执行的最小工作单元。 作业由工作流和数据流组成,这些工作流和数据流按顺序和指定方式处理流程。

Work flows(工作流):工作流指定处理数据流的顺序。将下级数据流安排在工作流下,以便一个数据流的输出准备好输入到预期数据流。

Data flows(数据流):数据流是将源数据转换为目标数据的过程。数据流按在工作流中排列的顺序处理数据。数据流定义了数据服务需要完成的基本任务。 基本任务是将数据从一个或多个源移动到一个或多个目标表或文件。通过标识提取数据的源,数据应进行的转换以及目标来定义数据流。

Data Services对象列表
20200811154500211
对象层级以及从属关系
20200811154704891
DS数据加载方式

将演示最基本的从其他系统中抽取数据到SAP HANA中(多图预警)

*注:如何创建datastores连接其他系统和数据库此文不进行阐述*,下面的演示为全量抽取,将一次将表中的全部数据抽取到你想要的数据库里。

根据对象层级以及从属关系来创建

也可以直接在local object library点击不同的对象独立创建(但不推荐,因为不好管理也不好找)

首先创建project,在local object library界面中选择project,然后空白处选择New

QQ截图20210318164049

起一个你喜欢的名字(project name)*见名知意,最好再加上注释🙏*,然后点击create(创建)

QQ截图20210318164227

之后再local object library中右击刚刚创建的project,点击open(打开)

QQ截图20210318164346

它就会在project Area上显示树状图

QQ截图20210318170041

之后右击空白位置或者project选择new batch job(新建批量作业)

QQ截图20210318170601

通常名字和要进行的业务相关 见名知意(这就是我们需要执行的作业,可以手动或者定时执行

QQ截图20210318170649

之后双击就应该会在右侧工作区打开,应该是一片空白,空无一物,这时我们就需要点击右侧工具区的Dataflow(数据流),然后到空白区域左键单击新建一个df,名字一般应和你要抽取的表同名,比如说:DF_XXXX

QQ截图20210318171011

之后鼠标双击你刚才新建的df进入df的工作区,准备开始抽取表数据

流程:
  1. 在你要抽取数据的datastore中右键tables—import by name创建source表(源数据表,也就是你要抽取的表)。
  2. 鼠标左键拖拽到df工作区,选择Make Source(作为源表) 。
  3. 然后在右侧工具区拖拽query对数据进行处理(也可以跳过query,不进行输入处理,直接将源表和目标表连线
  4. 从右侧工具区拖拽template(临时表)到df工具区,填上你想要抽到哪个datastore和schema。
  5. 保存执行
示例:

步骤一:

在datastore导入表

QQ截图20210319085415

填写表的信息,之后点击import导入

QQ截图20210319085849

步骤二:

鼠标拖拽刚刚导入的表到右侧ds工作区,选择make source作为源表

QQ截图20210319090259

最后是这个样子的,中间图示的表格深蓝色而且清晰,绿色箭头向右

QQ截图20210319090340

步骤三:

点击工具区中的query,鼠标图标应该会发生改变,随后点击df的工作区创建一个query

QQ截图20210319090825

之后通过鼠标悬浮到源表右侧的小点,鼠标图标应该会变换成一个拿着粉笔的手,随后左键单击拖拽就应该会出现连线,将线连接到query控件左侧的三角形

QQ截图20210319091413

随后双击进入query,对数据进行处理

QQ截图20210319091622

步骤四:

也是通过左键工具区中的template(临时表)到ds工作区,填写要抽到库里的表名和schema,表名应和要抽取的表同名

QQ截图20210319092829

随后通过query连线到临时表,最后应该是这样子的

QQ截图20210319093220

双击右侧的临时表,点击options,拖到最下方吧这一行改为YES!不然字符串的数据抽取可能出现问题

QQ截图20210319093541 QQ截图20210319093607

步骤五:

到job页面或者在左侧project area右键job选运行。如果没保存会提示让你保存,随后执行,点ok

QQ截图20210319094058 QQ截图20210319094206

保存执行!

本文中展示数据皆为示例,不太具有实际参考价值,但步骤相同,推荐举一反三。

部分引自SAP Data Services Designer - Ⅰ(User interface and Setting)

fdacab61d58425e368f30729feb2d2c8

この何もないの世界に、お前わ何が欲しいのが