SAP Data Intelligence Graph json源代码的结构分析
以SAP Data Intelligence标准的示例Graph com.sap.demo.http.server为例,将其json代码保存到本地,使用json编辑器查看:
operator之间有8条线连接,对应json文件里connections数组里的8个元素:
每个元素包含source和target两个对象。以下图为例:
src对象代表图中的get port:
target代表名为request的message:
id blankjavascriptoperator2可以在GET handler的configuration页面看见:
图里的6个节点,即6个Operator,就是json里Processes对象里的六个子对象:
其route路径为/objects/:id, 三个output:
三个outport:
首先看标签为object store的jsOperator:
根据三种不同类型的HTTP请求,get,post和delete,分别从object store里读取,插入和删除数据:
了解了这个思路后,再理解http get handler就容易了:从http请求里提取出参数,构造消息发送给outport.
从31multiplexer的源代码能看出,它本身并没有包含什么配置:
仅仅只是简单的把三个http JavaScript handler的输出接收起来,并重新输出到最终的object handler上。
初始导入到Model中的数据,一共8行:
准备导入增量数据:
在本地csv文件新建一条增量记录(2020-3-13):
重命名为formatted2-delta1.csv, 导入系统:
点击这个draft sources,确保Model Requirements没有issue出现。
Import Method选择Update,如果选成Append,仅仅会简单的将第二次上传的csv文件里所有的内容添加到model的尾部。
从提示信息看,model里旧的8条记录被删除,新的9条记录进来了,算是实现了增量导入功能。
再打开基于这个model创建的story,其中Bar chart里显示的数据已经自动刷新了,我已经能够看到3月13日的数据了:
但是line chart和pie chart仍然没有自动刷新:
没有自动刷新的图都和LeadNumber这个measure相关,值一直都为model初始化时加载的第一个版本的csv文件。
我认为是LeadNumber这个measure,每次导入后没有自动刷新。
因此我用了一个workaround:在未能自动刷新的图标里,手动创建一个Calculation measure,类型为aggregation,operation为count dimension, aggregation dimensions选择为leadID:
Line chart的自动刷新生效了:
选择成LeadNumber,没有任何反应。
改成用Count dimensions:
增量导入的数据也生效了:
- 点赞
- 收藏
- 关注作者
评论(0)