nifi之将一行一行数据进行值的定义,方便取值(4)
  zZHnZavbRDNq 2023年11月02日 60 0


nifi之将一行一行数据进行值的定义

EvaluateJsonPath:主要作用就是把数据里面的配置成“键值对”的方式。方便下游处理器进行取值

创建EvaluateJsonPath处理器

接上一篇长,已经成功创建了出来

给处理器name

nifi之将一行一行数据进行值的定义,方便取值(4)_linux


nifi之将一行一行数据进行值的定义,方便取值(4)_centos_02

对上游数据进行分析

我们通过分析上游数据来对如何进行“键值对”配置来进行了解,这边涉及到jsonpath的语法。感兴趣的大家可以去百度了解一下

上游的数据长这个样子

nifi之将一行一行数据进行值的定义,方便取值(4)_nifi_03

分析:通过取前面的id或者age可以得到后面的值,这个还是一层的,比较好取值,好的,开搞

对处理器进行配置

nifi之将一行一行数据进行值的定义,方便取值(4)_nifi_04


定义id

nifi之将一行一行数据进行值的定义,方便取值(4)_centos_05

nifi之将一行一行数据进行值的定义,方便取值(4)_mysql_06

定义age

nifi之将一行一行数据进行值的定义,方便取值(4)_linux_07


其他的类似

nifi之将一行一行数据进行值的定义,方便取值(4)_nifi_08

创建下游ReplaceText处理器

上面我们不是定义了吗,也就是下游处理器在接收到这组数据的时候,取id的值就是数据中$id的值,其他的类推,然后再加上inster字符传的拼接,是不是可以组成一个完整的sql语句

nifi之将一行一行数据进行值的定义,方便取值(4)_数据_09

连接上下游关系

nifi之将一行一行数据进行值的定义,方便取值(4)_centos_10

创建自连接

nifi之将一行一行数据进行值的定义,方便取值(4)_数据_11

出现报错

nifi之将一行一行数据进行值的定义,方便取值(4)_nifi_12


原因:指示JsonPath的计算结果是写入FlowFile内容还是写入FlowFile属性;如果使用attribute,必须指定attribute Name属性。如果设置为flowfile-content,则只能指定一个JsonPath,并且忽略属性名。所以我们还需要重新配置下处理器属性

nifi之将一行一行数据进行值的定义,方便取值(4)_linux_13

nifi之将一行一行数据进行值的定义,方便取值(4)_nifi_14

启动查看效果

nifi之将一行一行数据进行值的定义,方便取值(4)_数据_15

查看数据效果

nifi之将一行一行数据进行值的定义,方便取值(4)_centos_16


nifi之将一行一行数据进行值的定义,方便取值(4)_centos_17


nifi之将一行一行数据进行值的定义,方便取值(4)_centos_18


nifi之将一行一行数据进行值的定义,方便取值(4)_centos_19

可以看到我们已经成功的将属性进行了定义

结束语

下一篇我们将要使用repletext处理器拼接sql语句


【版权声明】本文内容来自摩杜云社区用户原创、第三方投稿、转载,内容版权归原作者所有。本网站的目的在于传递更多信息,不拥有版权,亦不承担相应法律责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@moduyun.com

  1. 分享:
最后一次编辑于 2023年11月08日 0

暂无评论

推荐阅读
  xaeiTka4h8LY   2024年05月17日   44   0   0 MySQLgithub
  xaeiTka4h8LY   2024年05月17日   36   0   0 MySQL数据库
  xaeiTka4h8LY   2024年04月26日   45   0   0 centoslinuxredis
zZHnZavbRDNq