Fork me on GitHub

nifi-大数据基础03——处理器认识_1

FlowFile Processor(处理器)

 

 

 处理器有许多类,但常常使用的可能就只有几类【A~C】

AttributeRollingWindow:基于评估每个FlowFile上的表达语言表达式来跟踪滚动窗口,并将该值添加到处理器的状态,每个FlowFile将与FlowFiles的计数以及在当前时间窗口中处理的值的总合计数值一起发出。

 

AttributesToCSV:生成输入FlowFile属性的CSV表示形式。可以将生成的CSV写入新生成的名为“ CSVAttributes”的属性,也可以将其作为内容写入FlowFile。如果属性值包含逗号,换行符或双引号,则将使用双引号对属性值进行转义。属性值中的任何双引号字符都用另一个双引号转义。

 

AttributesToJSON:生成输入FlowFile属性的JSON表示形式。可以将生成的JSON写入新的属性“ JSONAttributes”,也可以将其作为内容写入FlowFile。

 

Base64EncodeContent:编码或解码与base64之间的内容

 

CalculateRecordStats:可以对记录集中的项目数进行技术,也可以基于用户定义的标准对记录集的子集进行计数。

 

CaptureChangeMySQL:从MySQL数据库检索更新数据捕获(CDC)事件。CDC事件包括插入INSERT、更新UPDATE、删除DELETE操作。将事件作为单独的流文件输出,并按操作发生的时间排序。

 

CompareFuzzyHash:将包含“模糊散列”的属性与包含“模糊散列”的列表的文件进行比较,如果匹配成功,则将属性附加到FlowFile。

 

CompressContent:使用用户指定的压缩算法压缩或解压缩FlowFiles的内容,并适当地更新mine.type属性。该处理器以内存高效的方式运行,因此通常可以很好地处理超出堆大小的非常大的对象。

 

ConnectWebSocket:充当与远程WebSocket服务器进行交互的WebSocket客户端终结点。当使用此处理器配置的WebSocket客户端从远程WebSocket服务器接收消息时,FlowFile根据接收到的消息类型传输到下游关系。

 

ConsumeAMQP:使用AMQP 0.9.1协议从AMQP代理消耗AMQP消息。从AMQP代理收到的每条消息都将作为其自己的FlowFile发出给“成功”关系

 

ConsumeAzureEventHub:从Azure事件中心接收消息,将消息的内容写入FlowFile的内容。

 

ConsumeEWS:使用Exchange Web Services消耗来自Microsoft Exchange的消息。每个收到的电子邮件的原始字节将作为FlowFile的内容写入。

 

ConsumeGCPubSub:消耗来自已配置的Google Cloud PubSub订阅的消息。如果设置了“批量大小”,则将在单个请求中提取配置的消息数,否则仅提取一条消息。

 

ConsumeIMAP:使用IMAP协议从电子邮件服务器消费邮件。每个收到的电子邮件的原始字节将作为FlowFile的内容写入

 

ConsumeJMS:消费类型为BytesMessage,TextMessage,ObjectMessage,MapMessage或StreamMessage的JMS Message,将其内容转换为FlowFile并将其转换为“成功”关系。 JMS属性(例如标头和属性)将被复制为FlowFile属性。 MapMessages将转换为JSON,然后转换为字节数组。其他类型会将其原始内容作为字节数组传输到流文件中。

 

ConsumeKafka_2_6:消耗来自专门针对Kafka 2.6 Consumer API构建的Apache Kafka的消息。用于发送消息的辅助NiFi处理器是PublishKafka_2_6。

 

ConsumeKafkaRecord_2_6:消耗来自针对Kafka 2.6 Consumer API专门构建的Apache Kafka的消息。用于发送消息的辅助NiFi处理器是PublishKafkaRecord_2_6。请注意,此时,处理器假定从给定分区检索到的所有记录都具有相同的架构。如果拉出任何Kafka消息,但无法使用配置的记录读取器或记录写入器进行解析或写入,则消息的内容将被写入单独的FlowFile,并且该FlowFile将被转移为“ parse.failure”关系。否则,每个FlowFile被发送到“成功”关系,并且可能在单个FlowFile中包含许多单独的消息。添加了“ record.count”属性以指示FlowFile中包含多少消息。如果两个Kafka消息具有不同的架构,或者它们具有<Header to Add as Attributes>属性所包含的消息头具有不同的值,则不会将它们放置在同一个FlowFile中。

 

ConsumeMQTT:订阅主题并接收来自MQTT代理的消息

 

ConsumePOP3:使用POP3协议从电子邮件服务器消费邮件。每个收到的电子邮件的原始字节将作为FlowFile的内容写入

 

ConsumeWindowsEventLog:注册Windows事件日志订阅回调,以从Windows上的事件接收FlowFiles。这些可以通过通道和XPath进行过滤。

 

ConvertAvroToJSON:将Binary Avro记录转换为JSON对象。

 

ConvertAvroToORC:将Avro记录转换为ORC文件格式。

 

ConvertAvroToParquet:将Avro记录转换为Parquet文件格式。

 

ConvertCharacterSet:将FileFile的内容从一个字符集转换为另一个字符集。

 

ConvertExcelToCSVProcessor:消耗一个Microsoft Excel文档,并将每个工作表转换为csv。

 

ConvertJSONToSQL:将JSON格式的FlowFile转换为UPDATE,INSERT或DELETE SQL语句。传入的FlowFile应该是“平面” JSON消息,这意味着它包含一个JSON元素,并且每个字段都映射到一个简单类型。如果字段映射到JSON对象,则该JSON对象将被解释为Text。如果输入是JSON元素数组,则数组中的每个元素都将作为单独的FlowFile输出到“ sql”关系。成功转换后,原始FlowFile被路由到“原始”关系,而SQL被路由到“ sql”关系。

 

ConverRecord:使用已配置的“记录读取器”和“记录写入控制器服务”将记录从一种数据格式转换为另一种数据格式。读取器和写入器必须配置有“匹配”模式。通过这种方式,我们意味着模式必须具有相同的字段名称。如果可以将字段值从一种类型强制转换为另一种类型,则字段的类型不必相同。例如,如果输入模式具有一个名为double的“ balance”字段,则输出模式可以具有一个名为string,double或float的“ balance”字段。如果输入中存在任何字段,而输出中不存在任何字段,则该字段将被排除在输出之外。如果在输出模式中指定了任何字段,但是在输入数据/模式中不存在任何字段,则该字段将不存在于输出中,或者具有空值,具体取决于编写者。

 

CounText:计算传入文本的各种指标。请求的结果将记录为属性。生成的流文件将不会修改其内容。

 

CreateHadoopSequenceFile:根据传入的流文件创建Hadoop序列文件.

 

CryptographicHashAttribute:使用给定算法计算每个指定属性的哈希值,并将其写入输出属性。

 

CryptographicHashContent:使用给定的算法计算流文件内容的加密哈希值,并将其写入输出属性。

posted @ 2022-03-22 17:37  小百天  阅读(731)  评论(0编辑  收藏  举报