执行涉及输入和输出适配器的流项目

2020-09-16 22:44发布

点击此处---> 群内免费提供SAP练习系统(在群公告中)加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)人们好, 由于我是HANA S...

         点击此处--->   EasySAP.com群内免费提供SAP练习系统(在群公告中)

加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)


人们好,

由于我是HANA Streaming的初学者,因此正在尝试执行以下附带的方案。 但是我没有得到要求的输出,HANA输入中的数据没有填充到输入流中。

执行包含输入和输出适配器的项目是否需要遵循特定方法? ?

(10.2 kB)
3条回答
大道至简
2020-09-16 23:09

以下是一个有效的示例,它将以10秒的轮询间隔将数据从STREAMING_USER.VBAP_SOURCE表连续移动到STREAMING_USER.VBAP_DESTINATION表。 请注意,没有实现用于过滤数据的逻辑,因此在每个轮询间隔中都会重新处理源表中的相同记录。

我将再次指出,这不是有意义的流分析用例。 这也不是一个很好的入门示例。 对于新的流分析用户,我强烈建议您阅读 HANA流分析开发者中心

运行示例:

1)设置HANA表和初始数据。 您将需要创建一个名为STREAMING_USER的模式,或者将脚本修改为使用数据库中的现有模式:

 DROP TABLE STREAMING_USER.VBAP_SOURCE;


 DROP TABLE STREAMING_USER.VBAP_DESTINATION;


 创建列表STREAMING_USER.VBAP_SOURCE
 (MATNR INTEGER,
 MATKL CHAR(30),
 ARKTX CHAR(30),
 NETWR十进制(15,2)
  );
 
  创建列表STREAMING_USER.VBAP_DESTINATION
 (默认情况下,ROW_ID BIGINT主键是作为身份生成的,
 MATNR整数
 MATKL CHAR(30),
 ARKTX CHAR(30),
 NETWR_SUM十进制(15,2)
 );



 插入STREAMING_USER.VBAP_SOURCE值(1,'A','a',10.1);
 插入STREAMING_USER.VBAP_SOURCE值(1,'A','a',12.3);
 插入STREAMING_USER.VBAP_SOURCE值(1,'A','a',9.4);
 插入STREAMING_USER.VBAP_SOURCE值(1,'A','b',1.01);
 插入STREAMING_USER.VBAP_SOURCE值(1,'A','b',1.23);
 插入STREAMING_USER.VBAP_SOURCE值(1,'A','b',0.94);
 

2)从HANA Studio中的SAP HANA流开发视角或从WebIDE中的流插件创建名为" hana_service"的数据服务。 有关如何创建数据服务的说明,请参见获取的第1部分。 从SAP HANA智能数据流教程开始。

3)创建一个新的流项目,切换到CCL文本编辑器并剪切并粘贴以下CCL:

创建输入流VBAP_stream1 SCHEMA
 (MATNR整数,
 MATKL琴弦
 ARKTX字符串,
 NETWR_SUM十进制(15,2)
  );




 ATTACH INPUT ADAPTER Generic_DB_Input1 TYPE db_in
 到VBAP_stream1
 性质
 服务='hana_service',
 query ='从STREAMING_USER.VBAP_SOURCE GROUP BY MATNR,MATKL,ARKTX选择SELECT MATNR,MATKL,ARKTX,SUM(NETWR)NETWR_SUM',
 table ='\" STREAMING_USER \"。\" VBAP_SOURCE \"",
 花期= 10
 排列='MATNR = MATNR:MATKL = MATKL:ARKTX = ARKTX:NETWR_SUM = NETWR_SUM';


 附加输出适配器HANA_Output1 TYPE hana_out
 到VBAP_stream1
 性质
 服务='hana_service',
 sourceSchema ='STREAMING_USER',
 table ='VBAP_DESTINATION',
 排列='MATNR = MATNR:MATKL = MATKL:ARKTX = ARKTX:NETWR_SUM = NETWR_SUM';
 

一周热门 更多>