ETL工具-nifi干货系列 第九讲 处理器EvaluateJsonPath,根据JsonPath提取字段

1、其实这一节课本来按照计划一起学习RouteOnAttribute处理器(相当于java中的ifelse,switch case 控制语句),但是在学习的过程中遇到了一些问题。RouteOnAttribute 需要依赖处理器EvaluateJsonPath,所以本节课我们一起来学习下EvaluateJsonPath处理器。如下图所示:

 本节课的示例依然很简单:

GenerateFlowFile 产生测试json字符串:{"name":"Javax 小金刚","id":"2"}

JoltTransformJSON 转换json结构:{"person":{"name":"Javax 小金刚","id":"2"}}

EvaluateJsonPath 提取指定字段(下一节课进行路由)

LogAttribute 打印属性到日志文件nifi-app.log

2、EvaluateJsonPath,此处理器的作用是根据jsonPath提取json数据中指定的属性

 Destination:下拉选项有flowfile-content和flowfile-attribute,默认值flowfile-content,用于指示 JsonPath 提取结果是写入到 FlowFile 内容还是 FlowFile 属性中。如果选择属性,必须指定属性名称。如果设置为 flowfile-content,则只能指定一个 JsonPath,属性名称会被忽略。这里选择flowfile-attribute进行演示。

Return Type:下拉选项有auto-detect、json、scalar,默认值为auto-detect,用于指示 JSON Path 表达式的期望返回类型属性。选择 'auto-detect' 会根据目标的设置来确定返回类型:对于目标为 'flowfile-content' 的情况,返回类型将设置为 'json';对于目标为 'flowfile-attribute' 的情况,返回类型将设置为 'scalar'。

Path Not Found Behavior:下拉选项有warn、ignore、skip,默认值为ignore,目标设置为 'flowfile-attribute' 时,如何处理缺失的 JSON Path 表达式的方式。选择 'warn' 会在找不到 JSON Path 表达式时生成警告。选择 'skip' 会忽略任何未匹配的 JSON Path 表达式,不生成对应的属性。

Null Value Representation:下拉选项有empty string、the string 'null',默认值empty string,对于 JSON Path 表达式返回空值时的期望表示方式。

Max String Length:默认值20 MB,这解析 JSON 文档时字符串值的最大允许长度的描述。

userId:$.person.userId,此处为自定义属性名称,json path。

3、LogAttribute ,在指定的日志级别上记录 FlowFile 的属性,如下所示,此处理器在debug的时候比较有用。比较简单不做介绍。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/808611.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

一天300收入打底,​一个适合任何人的创业项目!

共享旅游卡项目,一天300收入打底,一个适合任何人的创业项目! 只要你不懒,生活总过得不会太差。只要你不贪,就算不能大富大贵,至少不会负债累累。 人性最难戒掉的两个字:一个是懒,另…

编译原理 学习笔记

1、代码: (1 2) * 3 2、词法解析: 3、抽象语法树: 4、语法树递归下降求值: 先Current_Node是根节点乘号,乘号,是中缀运算符,找左子节点,是加号,加号是中缀表达式&…

220 基于matlab的考虑直齿轮热弹耦合的动力学分析

基于matlab的考虑直齿轮热弹耦合的动力学分析,输入主动轮、从动轮各类参数,考虑润滑油温度、润滑油粘度系数等参数,输出接触压力、接触点速度、摩擦系数、对流传热系数等结果。程序已调通,可直接运行。 220直齿轮热弹耦合 接触压力…

MATLAB有限元结构动力学分析与工程应用-徐斌|【PDF电子书+配套Matlab源码】

专栏导读 作者简介:工学博士,高级工程师,专注于工业软件算法研究本文已收录于专栏:《有限元编程从入门到精通》本专栏旨在提供 1.以案例的形式讲解各类有限元问题的程序实现,并提供所有案例完整源码;2.单元…

【fiddler】弱网测试

目录 一、测试目的 二、步骤 2.1打开弱网模式 ​ 2.2设置网络参数 (1)打开Rules→Customize Rules; (2)找到下面框出的代码,在这里设置弱网参数值; (3)设置完成后&a…

软件行业之选:CRM系统如何赋能业务增长?

“CRM系统从整合营销渠道、自动化营销流程、强化客户全周期管理、增强服务能力、完善企业内部流程、开展数字化决策六个方面赋能软件行业。” 软件行业由于存在较高的技术壁垒,很多时候销售与客户沟通不顺畅,实施与客户沟通有难度,售后服务周…

gitignore:常用说明

示例: Java HELP.md target/ !.mvn/wrapper/maven-wrapper.jar !**/src/main/** !**/src/test/**### IntelliJ IDEA.idea *.iws *.iml *.ipr### NetBeans/nbproject/private/ /nbbuild/ /dist/ /nbdist/ /.nb-gradle/ build/ logs/### VS Code.vscode/ 说明&#…

怎么给html文件本地启动一个服务去访问

首先得先安装node 要启动一个本地的 HTTP 服务器,请先安装 Node.js,然后通过命令行在 HTML 文件所在文件夹下运行 npx serve

Spring 面试题(四)

1. Spring 防止相同类型 Bean 注入异常的方法? 在Spring框架中,当存在多个相同类型的Bean时,如果尝试通过自动装配(Autowiring)来注入这些Bean,可能会引发异常,因为Spring不知道应该注入哪一个Bean实例。…

ubuntu maven 使用示例

ubuntu maven 使用示例 一、基本使用 1、安装 sudo apt update sudo apt install maven mvn -v2、创建项目 mvn archetype:generate -DgroupIdcom.example -DartifactIdmy-project -DarchetypeArtifactIdmaven-archetype-quickstart -DinteractiveModefalse # -DartifactId…

Java代码基础算法练习-统计学生成绩-2024.04.11

任务描述&#xff1a; 编写程序&#xff0c;输入n个(0<n<50)学生的成绩(输入-1结束)&#xff0c;要求统计并输出优秀(大任务描述:于85)、及格(60~84)和不及格(小于60)的学生人数。(成绩取值范围0~100) 任务要求&#xff1a; 代码示例&#xff1a; /*** 这个程序用于统计…

android 11修改通知栏电池信息的字体颜色

如图为红色。 对应文件为BatteryMeterView loadPercentView之后执行&#xff1a; mBatteryPercentView.setTextColor(Color.RED);

Rust中的Hello World示例程序

开始学习一门新的编程语言就像是迈出了进入全新世界的第一步。你会做的第一件事之一就是编写一个简单的程序&#xff0c;打印出"Hello World!"。 Rust 以其快速和安全而闻名&#xff0c;也不例外。让我们马上开始&#xff0c;一起创建我们的第一个 Rust 程序吧&…

缓存穿透、缓存雪崩、缓存击穿的区别

缓存三兄弟&#xff08;穿透、雪崩、击穿&#xff09; 缓存穿透 定义 查询一个redis和数据库都不存在的值&#xff0c;数据库不存在则不会将数据写入缓存&#xff0c;所以这些请求每次都达到数据库。 解决办法是缓存空对象&#xff0c;如果数据库不存在则将空对象存入缓存&…

分布式锁内容

5.4 分布式锁-redission锁重试和WatchDog机制 说明&#xff1a;由于课程中已经说明了有关tryLock的源码解析以及其看门狗原理&#xff0c;所以笔者在这里给大家分析lock()方法的源码解析&#xff0c;希望大家在学习过程中&#xff0c;能够掌握更多的知识 抢锁过程中&#xff…

【SpringBoot】SpringBoot项目快速搭建

本文将介绍Springboot项目的快速搭建 快速创建SpringBoot项目 打开IDEA在File->New->Project中新建项目 点击左侧的Spring Initializr 输入以下信息&#xff1a; Name 项目名称Group 根据公司域名来&#xff0c;或者默认com.example【倒序域名】Package Name 包名&am…

SpringCloudAlibaba-整合sleuth和zipkin(六)

目录地址&#xff1a; SpringCloudAlibaba整合-CSDN博客 一、整合sleuth 1.引入依赖 在需要追踪的微服务中引入依赖&#xff0c;user、order、product <dependency><groupId>org.springframework.cloud</groupId><artifactId>spring-cloud-starter…

数字档案馆升级改造的意义

数字档案馆升级改造的意义在于提升档案管理的效率和质量&#xff0c;更好地满足各方面的需求&#xff0c;并为数字时代的档案管理提供更好的支持和保障。具体意义包括&#xff1a; 1. 提高档案存储、检索和利用效率&#xff1a;玖拓智能数字化档案馆可以实现电子存储和快速检索…

前端vue2中的excel导出功能-file-saver,xlsx,xlsx-style的使用

文章目录 概要整体架构流程技术名词解释技术细节小结 概要 今天遇到了一个技术点.前端的excel的纯导出功能,不和后端交互,只用前端导出数据 整体架构流程 vue2 element-ui 技术名词解释 在网上看了很多帖子,最后我选择了xlsx , file-saver , xlsx-style 这个三个插件完成…

前端项目部署教程——有域名有证书

一、拉取nginx镜像 docker pull nginx //先拉取nginx镜像二、打包前端项目 1、将Vue打包项目传输到/usr/local/vue/下blog和admin文件夹下 重点: 每一个子域名都要申请证书&#xff0c;在阿里云每年可以免费申请20个证书&#xff0c; 免费证书申请教程在 免费证书申请教程 …