使用表达式语言 | 学习笔记

简介: 快速学习使用表达式语言

开发者学堂课程【NiFi 知识精讲与项目实战(第二阶段):使用表达式语言】学习笔记,与课程紧密联系,让用户快速学习知识。

课程地址:https://developer.aliyun.com/learning/course/706/detail/12538


使用表达式语言

内容介绍:

1.为什么需要 NiFi 表达式

2.表达式语言介绍

3.NiFi 表达式的结构

4.使用表达式语言修改内容

5.查看替换内容


一、为什么需要 NiFi 表达式

nifi 表达式语言阶段,nifi 表达式,它的主要作用,就是在 file 文本内容,提取到的处理器属性当中,或者是添加一些flow file 属性的时候,会非常的灵活。


二、表达式语言介绍

表达式语言有什么作用,可以看见当从 flow file 的内容当中来提取属性的时候,并且可以去新增或更新一些自定义属性的时候,必须要有一种方法来获取它的值,这个时候就可以使用这个 NiFi 表达式,更新的自定义属性,哪一些属性它支持表达式语言,之前讲解了通过这个问号的图标,就可以发现,比如这个截图当中问号,鼠标放在问号以后,如果提示的是 expressionlanguage school 如果是支持的话,就可以在这个属性当中去使用的 nifi 表达式,如果提示是这个 note support,这个时候就没有办法在这个属性当中使用 NiFi 表达式,去使用也不支持,读取到的只能是一个字符串。


三、NiFi 表达式的结构

NiFi 表达式它的结构是用这个 Dollar 大括号这样的形式来进行包含的,比如这个 file name,就可以通过 Dollar 大括号加上 file name。这样的方式,就可以获取到这个付费的,它的一个文件名,

还有一些稍微复杂的案例,比如说 file name.,通过冒号来调用它的一些函数,这个函数也是可以进行嵌套调用的,比如 file name equals,这就可以判断是否相等,然后,入参也是通过小括号儿来进行传递。

通常如果需要将两个不同属性的值进行比较的时候,就可以通过 equal 方法来进行,那在 equal 的方法当中,也可以把字符串,变更成为另外的 nifi 表达式,也就是表达式当中还可以再嵌套表达式。通过这样的用法,就可以很灵活的来进行一些操作。另外,需要注意表达式语言会忽略掉的空格儿,比如这里面第一个用法当中,在大括号后面加了一个空格,在冒号后面也加了一个空格,这样的方式,也可以正常被解析,它和这样的写法意思是一样的,但是要注意一点,如果在的变量名当中加上空格的话,会识别错误,比如这样的一个用法,在的 file name 这个变量当中加了一个空格,这个时候就会解析为这是两个不同的变量,而不是单独的一个变量,所以一定要注意,单独这个变量名中间是不能加空格的。


四、使用表达式语言修改内容

如何去使用的表达式语言来修改的流程,实际的操作应该怎么操作。在之前所运行的这个流程当中,replace text 直接把流失数据文件直接替换成了 ABCD 这样的一个字符串,就可以通过表达式语言大括号。Dollar 服务,然后写上 H的名称,这样的方式来获取值,并且把这个值赋到的 replace text 这个属性当中,然后由此来动态的获取到想要变更的值,这一项的话,就会把的实际数据,变更成这样的一个结果。


五、查看替换内容

image.png

打开的主面板,选中的 replace X,点击编辑可以看到通过的 NIFI 表达式来获取到属性的值,通过 Dollar 大括号,CSV.1来获取一的数据,然后再通过二获取二的数据,通过三获取三的数据,通过这样的方式来获取,然后进行重新的变更,原始的数据已经看过,接下来运行、操作,数据已经运行完了停止,停止完以后,查看这个队列当中的数据,如下图是属性文件,这是这四个变量。

image.png

然后点击可以看到,这里面获取到的值分别是 ABCD,已经成功的把 flow field content 的内容改变了。

image.png

相关文章
|
前端开发 Java Unix
【NiFi】(二)三分钟搞定 NiFi 安装与简单使用!
【NiFi】(二)三分钟搞定 NiFi 安装与简单使用!
2997 0
【NiFi】(二)三分钟搞定 NiFi 安装与简单使用!
|
数据可视化 关系型数据库 MySQL
Apache NiFi之MySQL数据同步
一.简述 Apache NiFi是一个易用、强大、可靠的数据处理与分发系统,Apache NiFi的设计目标是自动化管理系统间的数据流Apache NiFi是美国国家安全局(NSA)开发和使用了8年的一个可视化、可定制的数据集产品。
6156 0
|
10月前
|
人工智能 自然语言处理 算法
接入DeepSeek需要做算法备案吗?一文读懂算法备案的那些事儿
在AI快速发展的今天,算法备案成为企业合规运营的关键。本文通过五个案例解析接入DeepSeek是否需备案:1) 微调模型需备案,流程4-6个月;2) 面向公众服务需备案;3) 内部使用通常无需备案;4) 个人自用无需备案;5) 面向特定专业人士通常无需备案。了解这些要求,确保企业在享受AI红利的同时合规运营,规避风险。
|
12月前
|
监控 数据可视化 关系型数据库
Dify: 一款宝藏大模型开发平台: 部署及基础使用
Dify 是一款开源的大语言模型(LLM)应用开发平台,融合了后端即服务(Backend as Service)和 LLMOps 的理念,使开发者可以快速搭建生产级的生成式 AI 应用。即使非技术人员也能参与 AI 应用的定义和数据运营。计算巢提供了 Dify 的快速部署解决方案,包括单机版和高可用版,支持通过 Docker Compose 和阿里云 ACK 部署,适用于开发测试和生产环境。用户可以通过配置 API、WebApp 脚手架等轻松集成 Dify 到业务中,极大简化了大语言模型应用的开发流程。
6504 22
Dify: 一款宝藏大模型开发平台:  部署及基础使用
【核磁共振成像】相位差重建
【核磁共振成像】相位差重建
|
存储 机器学习/深度学习
FP32、FP16 和 INT8
FP32、FP16 和 INT8
2097 0
|
SQL 关系型数据库 MySQL
Linux安装Mysql8.0.27集群(传统方式&Docker方式)&&主从复制配置
Linux安装Mysql8.0.27集群(传统方式&Docker方式)&&主从复制配置
1469 0
Linux安装Mysql8.0.27集群(传统方式&Docker方式)&&主从复制配置
|
存储 负载均衡 测试技术
FlowFile 属性 | 学习笔记
快速学习 FlowFile 属性
388 0
IDEA中关于插件CheckStyle的使用(一)
IDEA中关于插件CheckStyle的使用(一)
1451 0
IDEA中关于插件CheckStyle的使用(一)