Flow File 操作1 | 学习笔记

简介: 快速学习 Flow File 操作1

开发者学堂课程【NiFi 知识精讲与项目实战(第二阶段):Flow File 操作1学习笔记,与课程紧密联系,让用户快速学习知识。

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


Flow File 操作1


内容介绍:

一、理论

二、处理器对 flow file 的操作


一、理论

Flow File 拓扑内容,它一共包含了有两个部分内容,第一个部分是属性值,第二个部分是内容,

Flow File 的属性指的是这个文件的元数据信息,在这个属性当中保存了和内容有关的一些数据,

比如内容,Flow file 是什么时候创建的,从哪个处理器来的,以及到底代表了什么数据,实际的内容,保存的是flow file 当中的文本数据,比如之前用 get file 来读取实际的数据的时候读取到的文本文件里面所写的 hello word 这个文本,处理器对 flow file 的操作可以更新、添加和删除 flow file 的属性,也可以直接改变 flow file 当中的实际文本内容。


二、处理器对 flow file 的操作

有两个处理器,第一个叫 extract text,这个处理器是使用正则表达式来匹配这个 flow file 当中的内容,会把匹配成功的内容输出到它的属性当中去,如果正则表达式匹配到多个结果,默认只会取它匹配到第一个结果,匹配成功会输出到的 match 的关系里面,如果没有匹配成功这样的数据,会输入到 unmatched 的这样的一个关系里面去,Extract text 的这个处理器最重要的是自定义属性,因为它的自定义属性就决定了会添加哪些 aspect 到的服务上,它的固定属性非常多。

alphabet 处理器可以来更新留文件的属性,也可以进行删除,第一个属性就是删除属性的表达式,这个表达式主要指的就是正则表达式,可以通过正则表达式来匹配属性,然后匹配上就会进行删除。

update Attribute 这个处理器,主要应用的场景,就是用来增加、删除和修改的 flow file 属性,这个有两种方式:

第一种方式,是比较简单的方式,是默认会把每一个经过这个处理器的 flow File都去进行更新;

第二种方式会稍微高级一点,也就是可以通过一些条件来匹配,匹配到这个条件时候,才会去更新这一条 flow file,同时,这两种方式可都可以一起使用;

还有一种方式,是删除属性表达式,刚才所说的这个属性,删除也是通过正则表达式来进行删除,需要注意一点,删除表达式如果设置以后,它的优先级会比较高,比如有一个属性,flow file 有一个 alphabet 叫做 text1,这时,通过的update Attribute 的处理器,把这个 TEST1的这个属性值变更了,同时,也设置删除属性当中去匹配,包含 text 的这样的属性,这个时候会把的 text 属性直接删掉,而不会更新,也就是在后续的处理器,去接收 flow file 时候就再也看不到这个 text 的属性了,text1属性就是这个删除表达式,它的优先级会更高一些,而且,如果是新增的属性,删除表达式就没有办法把它删除掉,因为删除表达式,只能删除之前带过来的一些属性,如果在这个这个组件当中,新增加的一些属性就算删除表达式匹配成功了,也不会进行删除,因为这是后天加的属性值。

相关文章
|
NoSQL Java Redis
分布式锁实现原理问题之使用Redis的setNx命令来实现分布式锁问题如何解决
分布式锁实现原理问题之使用Redis的setNx命令来实现分布式锁问题如何解决
312 0
ly~
|
域名解析 网络协议 Linux
如何测试 DNS 记录中的反向代理服务器是否生效?
本文介绍了三种测试反向代理服务器配置的方法。首先,通过命令行工具如 `ping`、`nslookup` 和 `dig` 检查域名解析是否指向正确的 IP 地址。其次,利用 Web 浏览器访问域名,验证页面加载正常且请求头信息无误。最后,借助网络抓包工具如 `Wireshark` 和 `tcpdump` 分析数据包,确保请求正确转发并返回预期响应。
ly~
1169 2
|
大数据 网络安全 数据安全/隐私保护
大数据-03-Hadoop集群 免密登录 超详细 3节点云 分发脚本 踩坑笔记 SSH免密 集群搭建(二)
大数据-03-Hadoop集群 免密登录 超详细 3节点云 分发脚本 踩坑笔记 SSH免密 集群搭建(二)
458 5
|
存储 消息中间件 druid
Druid介绍
Druid介绍
|
人工智能 自然语言处理 IDE
CodeFuse IDE 0.6 版本发布,支持编辑器诊断问题 AI 修复
CodeFuse IDE 是基于蚂蚁自研大模型和 OpenSumi 框架的 AI 编程助手,支持多语言,提供代码建议、解释、测试生成等,增强开发效率。最新版增加 AI 修复和智能补全功能,开源并支持 VS Code 插件生态。[了解更多](https://github.com/codefuse-ai/codefuse-ide)
647 0
|
小程序
[渲染层错误] [jsbridge] invoke remoteDebugInfo fail: too eayly.
这篇文章分享了在小程序开发过程中遇到的一个渲染层错误,原因是路径错误,特别是图片后缀名的遗漏,通过手动修正后问题得到解决。
[渲染层错误] [jsbridge] invoke remoteDebugInfo fail: too eayly.
|
SQL 数据库
无法获得数据库 'model' 上的排他锁。请稍后重试该操作
无法获得数据库 'model' 上的排他锁。请稍后重试该操作
364 0
|
SQL 关系型数据库 MySQL
MySQL数据库——索引(6)-索引使用(覆盖索引与回表查询,前缀索引,单列索引与联合索引 )、索引设计原则、索引总结
MySQL数据库——索引(6)-索引使用(覆盖索引与回表查询,前缀索引,单列索引与联合索引 )、索引设计原则、索引总结
478 1
|
物联网 芯片 计算机视觉
树莓派开发笔记(十):Qt读取ADC模拟量电压(ADS1115读取电压模拟量)
树莓派开发笔记(十):Qt读取ADC模拟量电压(ADS1115读取电压模拟量)
树莓派开发笔记(十):Qt读取ADC模拟量电压(ADS1115读取电压模拟量)
|
数据挖掘
R语言中的混合效应模型
【4月更文挑战第27天】本文介绍了R语言中混合效应模型(MEMs)的理论与应用,包括固定效应和随机效应的概念,以及使用`nlme`、`lmerTest`包构建线性、非线性和广义线性混合效应模型。通过学生考试成绩的例子展示了如何分析复杂数据结构。此外,讨论了模型解释、验证方法,如AIC和残差图。最后提到了R语言支持的高级主题,如多层次模型和潜在增长曲线模型,强调了MEMs在处理相关性数据中的重要性及其在R语言中的广阔应用前景。
324 0