没有合适的资源?快使用搜索试试~ 我知道了~
温馨提示
3、NIFI处理器介绍、FlowFlie常见属性、模板介绍和运行情况信息查看 网址:https://blog.csdn.net/chenwewi520feng/article/details/130605012 本文主要介绍了NIFI的常见处理器,并按照一定的类别进行分类和介绍;同时介绍了处理器的常见属性;NIFI的模板简单介绍,接下来文章中有具体的关于模板的使用示例;以及NIFI的运行情况的信息查看。 本分主要分为四部分,即处理器类别、处理器属性、模板和运行情况信息查看。
资源推荐
资源详情
资源评论
























Apache NiFi系列文章
1、nifi-1.9.2介绍、单机部署及简单验证
2、NIFI应用示例-GetFile和PutFile应用
3、NIFI处理器介绍、FlowFlie常见属性、模板介绍和运行情况信息查看
4、集群部署及验证、监控及节点管理
5、NIFI FileFlow示例、模板以及拓扑
6、NIFI 表达式、监控、连接、负载均衡与集群
7、NIFI综合应用场景(DB-Hdfs、json转换、mysql同步到hive、kafka同步)
@TOC
本文主要介绍了NIFI的常见处理器,并按照一定的类别进行分类和介绍;同时介绍了处理器的常见属
性;NIFI的模板简单介绍,接下来文章中有具体的关于模板的使用示例;以及NIFI的运行情况的信息查
看。
本分主要分为四部分,即处理器类别、处理器属性、模板和运行情况信息查看。
一、处理器的类别
NiFi包含许多不同的处理器。这些处理器提供了可从众多不同系统中提取数据、路由、转换、处理、拆
分和聚合数据以及将数据分发到多个系统的功能。
介绍一些最常用的处理器,按功能对它们进行分类。
1、数据转换
CompressContent:压缩或解压
ConvertCharacterSet:将用于编码内容的字符集从一个字符集转换为另一个字符集
EncryptContent:加密或解密
ReplaceText:使用正则表达式修改文本内容
TransformXml:应用XSLT转换XML内容
JoltTransformJSON:应用JOLT规范来转换JSON内容
2、路由和调解
ControlRate:限制流程中数据流经某部分的速率
DetectDuplicate:根据一些用户定义的标准去监视发现重复的FlowFiles。通常与HashContent一
起使用
DistributeLoad:通过只将一部分数据分发给每个用户定义的关系来实现负载平衡或数据抽样
MonitorActivity:当用户定义的时间段过去而没有任何数据流经此节点时发送通知。(可选)在数
据流恢复时发送通知。
RouteOnAttribute:根据FlowFile包含的属性路由FlowFile。
ScanAttribute:扫描FlowFile上用户定义的属性集,检查是否有任何属性与用户定义的字典匹配。
RouteOnContent:根据FlowFile的内容是否与用户自定义的正则表达式匹配。如果匹配,则
FlowFile将路由到已配置的关系。
ScanContent:在流文件的内容中搜索用户定义字典中存在的术语,并根据这些术语的存在或不存在
来路由。字典可以由文本条目或二进制条目组成。

ValidateXml:以XML模式验证XML内容; 根据用户定义的XML Schema,判断FlowFile的内容是否有
效,进而来路由FlowFile。1
3、数据库访问
ConvertJSONToSQL:将JSON文档转换为SQL INSERT或UPDATE命令,然后可以将其传递给PutSQL
Processor
ExecuteSQL:执行用户定义的SQL SELECT命令,结果为Avro格式的FlowFile
PutSQL:通过执行FlowFile内容定义的SQL DDM语句来更新数据库
SelectHiveQL:对Apache Hive数据库执行用户定义的HiveQL SELECT命令,结果为Avro或CSV格式
的FlowFile
PutHiveQL:通过执行FlowFile内容定义的HiveQL DDM语句来更新Hive数据库
4、属性提取
EvaluateJsonPath:用户提供JSONPath表达式(类似于XPath,用于XML解析/提取),然后根据
JSON内容评估这些表达式,用结果值替换FlowFile内容或将结果值提取到用户自己命名的Attribute
中。
EvaluateXPath:用户提供XPath表达式,然后根据XML内容评估这些表达式,用结果值替换FlowFile
内容或将结果值提取到用户自己命名的Attribute中。
EvaluateXQuery:用户提供XQuery查询,然后根据XML内容评估此查询,用结果值替换FlowFile内容
或将结果值提取到用户自己命名的Attribute中。
ExtractText:用户提供一个或多个正则表达式,然后根据FlowFile的文本内容对其进行评估,然后将
结果值提取到用户自己命名的Attribute中。
HashAttribute:对用户定义的现有属性列表的串联进行hash。
HashContent:对FlowFile的内容进行hash,并将得到的hash值添加到Attribute中。
IdentifyMimeType:评估FlowFile的内容,以确定FlowFile封装的文件类型。此处理器能够检测许多
不同的MIME类型,例如图像,文字处理器文档,文本和压缩格式,仅举几例。
UpdateAttribute:向FlowFile添加或更新任意数量的用户定义的属性。这对于添加静态的属性值以
及使用表达式语言动态计算出来的属性值非常有用。该处理器还提供"高级用户界面(Advanced
User Interface)",允许用户根据用户提供的规则有条件地去更新属性。
5、系统交互
ExecuteProcess:运行用户自定义的操作系统命令。进程的StdOut被重定向,以便StdOut的内容输
出为FlowFile的内容。此处理器是源处理器(不接受数据流输入,没有上游组件) - 其输出预计会生成
新的FlowFile,并且系统调用不会接收任何输入。如果要为进程提供输入,请使用
ExecuteStreamCommand Processor。
ExecuteStreamCommand:运行用户定义的操作系统命令。FlowFile的内容可选地流式传输到进
程的StdIn。StdOut的内容输出为FlowFile的内容。此处理器不能用作源处理器 - 必须传入
FlowFiles才能执行。
6、数据提取
GetFile:将文件内容从本地磁盘(或网络连接的磁盘)流式传输到NiFi,然后删除原始文件。此处理
器应将文件从一个位置移动到另一个位置,而不是用于复制数据。
GetFTP:通过FTP将远程文件的内容下载到NiFi中,然后删除原始文件。此处理器应将文件从一个位
置移动到另一个位置,而不是用于复制数据。
GetSFTP:通过SFTP将远程文件的内容下载到NiFi中,然后删除原始文件。此处理器应将文件从一个
位置移动到另一个位置,而不是用于复制数据。

GetJMSQueue:从JMS队列下载消息,并根据JMS消息的内容创建FlowFile。可选地,JMS属性也可以
作为属性复制。
GetJMSTopic:从JMS主题下载消息,并根据JMS消息的内容创建FlowFile。可选地,JMS属性也可以作
为属性复制。此处理器支持持久订阅和非持久订阅。
GetHTTP:将基于HTTP或HTTPS的远程URL的请求内容下载到NiFi中。处理器将记住ETag和Last-
Modified Date,以确保不会持续摄取数据。
ListenHTTP:启动HTTP(或HTTPS)服务器并侦听传入连接。对于任何传入的POST请求,请求的
内容将作为FlowFile写出,并返回200响应。
ListenUDP:侦听传入的UDP数据包,并为每个数据包或每个数据包创建一个FlowFile(取决于配
置),并将FlowFile发送到"success"。
GetHDFS:监视HDFS中用户指定的目录。每当新文件进入HDFS时,它将被复制到NiFi并从HDFS中
删除。此处理器应将文件从一个位置移动到另一个位置,而不是用于复制数据。如果在集群中运行,
此处理器需仅在主节点上运行。要从HDFS复制数据并使其保持原状,或者从群集中的多个节点流式
传输数据,请参阅ListHDFS处理器。
ListHDFS / FetchHDFS:ListHDFS监视HDFS中用户指定的目录,并发出一个FlowFile,其中包含它遇
到的每个文件的文件名。然后,它通过分布式缓存在整个NiFi集群中保持此状态。然后可以在集群中,
将其发送到FetchHDFS处理器,后者获取这些文件的实际内容并发出包含从HDFS获取的内容的
FlowFiles。
GetKafka:从Apache Kafka获取消息,特别是0.8.x版本。消息可以作为每个消息的FlowFile发出,也
可以使用用户指定的分隔符一起进行批处理。
GetMongo:对MongoDB执行用户指定的查询,并将内容写入新的FlowFile。
7、数据出口/发送数据
PutEmail:向配置的收件人发送电子邮件。FlowFile的内容可选择作为附件发送。
PutFile:将FlowFile的内容写入本地(或网络连接)文件系统上的目录。
PutFTP:将FlowFile的内容复制到远程FTP服务器。
PutSFTP:将FlowFile的内容复制到远程SFTP服务器。
PutJMS:将FlowFile的内容作为JMS消息发送到JMS代理,可选择将Attributes添加JMS属性。
PutSQL:将FlowFile的内容作为SQL DDL语句(INSERT,UPDATE或DELETE)执行。FlowFile的内
容必须是有效的SQL语句。属性可以用作参数,FlowFile的内容可以是参数化的SQL语句,以避免SQL
注入攻击。
PutKafka:将FlowFile的内容作为消息发送到Apache Kafka,特别是0.8.x版本。FlowFile可以作为
单个消息或分隔符发送,例如可以指定换行符,以便为单个FlowFile发送许多消息。
PutMongo:将FlowFile的内容作为INSERT或UPDATE发送到Mongo。
8、分裂和聚合
SplitText:SplitText接收单个FlowFile,其内容为文本,并根据配置的行数将其拆分为1个或多个
FlowFiles。例如,可以将处理器配置为将FlowFile拆分为多个FlowFile,每个FlowFile只有一行。
SplitJson:允许用户将包含数组或许多子对象的JSON对象拆分为每个JSON元素的FlowFile。
SplitXml:允许用户将XML消息拆分为多个FlowFiles,每个FlowFiles包含原始段。这通常在多个
XML元素与"wrapper"元素连接在一起时使用。然后,此处理器允许将这些元素拆分为单独的XML元
素。
UnpackContent:解压缩不同类型的存档格式,例如ZIP和TAR。然后,归档中的每个文件都作为单个
FlowFile传输。
SegmentContent:根据某些已配置的数据大小将FlowFile划分为可能的许多较小的FlowFile。不
对任何类型的分界符执行拆分,而是仅基于字节偏移执行拆分。这是在传输FlowFiles之前使用的,以
便通过并行发送许多不同的部分来提供更低的延迟。而另一方面,MergeContent处理器可以使用碎
片整理模式重新组装这些FlowFiles。
剩余10页未读,继续阅读
资源评论


一瓢一瓢的饮alanchan
- 粉丝: 176
- 资源: 69
上传资源 快速赚钱
我的内容管理 展开
我的资源 快来上传第一个资源
我的收益
登录查看自己的收益我的积分 登录查看自己的积分
我的C币 登录后查看C币余额
我的收藏
我的下载
下载帮助


安全验证
文档复制为VIP权益,开通VIP直接复制
