2020-09-16 22:44发布
加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)
人们好,
由于我是HANA Streaming的初学者,因此正在尝试执行以下附带的方案。 但是我没有得到要求的输出,HANA输入中的数据没有填充到输入流中。
执行包含输入和输出适配器的项目是否需要遵循特定方法? ?
你好Vinaya,
问题中包含的框图对于帮助我们了解您要实现的数据流很有用。 为了更好地了解您如何配置适配器,CCL将提供更多信息。
默认情况下,在项目启动时,通用DB输入适配器将查询源数据库表一次。 可以将适配器配置为定期轮询数据库以查找新的/更改的记录,但是默认情况下不会发生。 猜测,那是我建议寻找的第一位。
您是否要使用此配置-基本上是在特定应用程序中在2个HANA表之间移动数据,还是只是用来熟悉流分析的测试项目?
谢谢
Rob
嗨罗伯特,
我知道这不是正确的情况,但是正如我在一开始所说的那样,我只是想了解适配器的功能。 根据我的理解,一旦编译项目输入流,就应该从输入适配器获取数据,最后到达目的地。
我怀疑编写的查询语句是否错误或项目编译的过程。
请帮助我
以下是一个有效的示例,它将以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';
最多设置5个标签!
你好Vinaya,
问题中包含的框图对于帮助我们了解您要实现的数据流很有用。 为了更好地了解您如何配置适配器,CCL将提供更多信息。
默认情况下,在项目启动时,通用DB输入适配器将查询源数据库表一次。 可以将适配器配置为定期轮询数据库以查找新的/更改的记录,但是默认情况下不会发生。 猜测,那是我建议寻找的第一位。
您是否要使用此配置-基本上是在特定应用程序中在2个HANA表之间移动数据,还是只是用来熟悉流分析的测试项目?
谢谢
Rob
嗨罗伯特,
我知道这不是正确的情况,但是正如我在一开始所说的那样,我只是想了解适配器的功能。 根据我的理解,一旦编译项目输入流,就应该从输入适配器获取数据,最后到达目的地。
我怀疑编写的查询语句是否错误或项目编译的过程。
请帮助我
以下是一个有效的示例,它将以10秒的轮询间隔将数据从STREAMING_USER.VBAP_SOURCE表连续移动到STREAMING_USER.VBAP_DESTINATION表。 请注意,没有实现用于过滤数据的逻辑,因此在每个轮询间隔中都会重新处理源表中的相同记录。
我将再次指出,这不是有意义的流分析用例。 这也不是一个很好的入门示例。 对于新的流分析用户,我强烈建议您阅读 HANA流分析开发者中心。
运行示例:
1)设置HANA表和初始数据。 您将需要创建一个名为STREAMING_USER的模式,或者将脚本修改为使用数据库中的现有模式:
2)从HANA Studio中的SAP HANA流开发视角或从WebIDE中的流插件创建名为" hana_service"的数据服务。 有关如何创建数据服务的说明,请参见获取的第1部分。 从SAP HANA智能数据流教程开始。
3)创建一个新的流项目,切换到CCL文本编辑器并剪切并粘贴以下CCL:
一周热门 更多>