当前位置:   article > 正文

SDI的部署及简单使用_sap sdi

sap sdi

什么是SDI

SDI,即Smart Data Integration,是集成到HANA中的一个数据迁移和同步工具。通过SDI,我们可以用图形化的方式对远程数据源(如OracleDB2Hive等)的数据做过滤、连接、类型转换等操作,然后导入到HANA

使用SDI要做的工作

  1. 启动HANADP Server
  2. 安装配置DP Agent
  3. 注册DP Agent
  4. 注册 Adapter
  5. 创建远程数据源及虚表
  6. 创建并激活数据流图
  7. 执行存储过程

启动HANADP Server

Data Provisioning ServerHANA的一个native进程,它与DP Agent或远程数据源进行数据交互。DP ServerHANA自带组件,不需要额外安装,但默认情况下DP Serverdisabled,所以我们需要将其enable。激活方法是:Configuration选项卡àdaemon.iniàdpserveràinstances1

1.png

该属性是change online,不需要重启HANA

DP Server启动完成后可以在Services选项卡中看到dpserver的状态为active

2.png

安装配置DP Agent

1. 从SAP Software Download Center下载DP Agent安装包“data_provision_agent_xxxxxxxx.zip”。

2. 解压zip包,将其中的DATA_UNITS\HANA_DP_AGENT_10_LIN_X86_64文件夹copy到要安装的linux机器上(当然你也可以安装windows版的)。

3. 执行./hdbinst

3.png

输入安装路径。

4.png

输入用于DP Agent服务的用户名、监听端口和管理端口。

4. 进入DP Agent安装路径,运行配置工具:

5.png

5. 在弹出的对话框中点击ConfigureàPreferences

6.png

DP Agent的配置界面,你可以配置Adapter Framework和各个Adapter的参数,Adapter Framework的参数适用于所有Adapter,比如Worker Thread Pool是线程池的容量,即并行导入的最大线程数。

注册DP Agent

1. 运行DP Agent的配置工具:

7.png

8.png

2. 先要连接到一个HANA系统,点击Connect to HANA

9.png

在弹出的对话框中填入HANA系统的链接信息,这里既可以连接到On PremiseHANA,也可以连接到On CloudHANA

3. 连接HANA之后就可以看到现有的所有Adapter

10.png

然后点击Register Agent按钮,弹出对话框:

11.png

点击Register按钮完成注册,注册成功后在HANA Studio中查看视图"SYS"."AGENTS"

12.png

可以看到”srsserverAgent”已经成功注册到HANA系统。

注册Adapter

DP Agent注册成功后,还需要将要连接的远程数据源对应的Adapter注册到HANA系统。

1. 将要连接的数据源的JDBC驱动文件(例如OracleJDBC驱动文件ojdbc6.jar)拷贝到DP Agent安装目录的lib子文件夹下:

<DP_AGENT_INSTALL_DIR>/lib

默认为:/usr/sap/dataprovagent/lib

2. 在配置工具界面的Adpaters列表中选择远程数据源的Adapter,例如,要连接Oracle则选择OracleLogReaderAdapter,然后点击Register Adapter按钮。

13.png

3. Adapter注册成功后,在HANA中查看视图"SYS"."ADAPTERS"

14.png

可以看到OracleLogReaderAdapter已经成功注册到HANA系统。

创建远程数据源及虚表

1. 创建SDI远程数据源和创建SDA远程数据源类似,在Adapter Name栏选择远程数据源对应的Adapter,例如连接Oracle则选择OracleLogReaderAdapter

2. Oracle数据源为例,Instance NameDP Agent中创建的实例名称,你可以使名称和数据源名称一致,Administration Port是该instance的管理端口,默认是13456

15.png

3. 创建虚表方法和SDA一致。

创建并激活数据流图

1. 在repositoryHANA XS project中新建一个数据流图:

16.png

17.png

18.png

2. 使用拖拽的方式构建一个数据流图:

19.png

可以选中各个节点,然后在其属性框中设置其属性,例如,JOIN节点的属性框如下所示:

20.png

3. 保存并激活数据流图:

21.png

执行存储过程

1. 数据流图成功激活后,我们在数据流图所在的schema下可以看到生成了一个存储过程:

22.png

2. 存储过程内容如下:

CREATE PROCEDURE "SDI"."LEO.SDI::sdi_fg1"()

LANGUAGE SQLSCRIPT SQL SECURITY INVOKER

AS

BEGIN

ORCL_DS_TSTTAB_DATA_TAB = SELECT "ID""NAME" FROM "SDI"."orcl_ds_TSTTAB";

ORCL_DS_TSTTAB_2_DATA_2_TAB = SELECT "ID""NAME" FROM "SDI"."orcl_ds_TSTTAB";

SORT_OUTPUT_TAB=SELECT "ID""NAME" FROM :ORCL_DS_TSTTAB_DATA_TAB ORDER BY "ID" ASC;

JOIN_OUTPUT_2_TAB = SELECT "INPUT1"."ID" AS "ID""INPUT2"."NAME" AS "NAME_2" FROM(:SORT_OUTPUT_TAB AS "INPUT1" INNER JOIN :ORCL_DS_TSTTAB_2_DATA_2_TAB AS "INPUT2" ON"INPUT1"."ID"="INPUT2"."ID");

SELECT "ID" AS "ID""NAME_2" AS "NAME_2" FROM :JOIN_OUTPUT_2_TAB INTO"SDI"."SORTED_JOINED_TSTTAB";

END

3. 调用该存储过程即可完成数据导入。

参考资料

SAP HANA EIM Administration Guide

SAP HANA Academy – Smart Data Integration/Quality : SAP ECC Replication [SPS09]

 

想获取更多SAP HANA学习资料或有任何疑问,请关注新浪微博@HANAGeek!我们欢迎你的加入!

转载本文章请注明作者和出处http://scn.sap.com/community/chinese/hana/blog/2015/03/01/sdi%E7%9A%84%E9%83%A8%E7%BD%B2%E5%8F%8A%E7%AE%80%E5%8D%95%E4%B…,请勿用于任何商业用途。

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/喵喵爱编程/article/detail/825264
推荐阅读
相关标签
  

闽ICP备14008679号