赞
踩
每个FlowFile都拥有多个属性,这些属性在FlowFile的生命周期中发生了变化。FlowFile的概念非常强大,并提供三个主要优点:
每个FlowFile都有一组属性:
NiFi提供了几种不同的处理器,用于从FlowFiles中提取属性。我们在之前的处理器分类中已经提到过。这是构建自定义处理器的一个非常常见的用例,其实编写处理器是为了理解特定的数据格式,并从FlowFile的内容中提取相关信息,创建属性来保存该信息,以便可以决定如何路由或处理数据。
Nifi除了提供能够提取特定属性的处理器外,还支持用户自定义属性。用户可以通过单机属性卡右上角的+
按钮添加新的属性。属性的值也包含表达式语言(Nifi有自己的表达式语言,可以系统的学习一下),这样就允许其他属性或添加属性。
Nifi的一个强大功能是能够根据属性路由FlowFiles。执行此操作的主要机制是RouteOnAttribute。通过添加自定义属性进行配置,属性名可用于分发路由,属性值可以用来控制分发的数据。例如属性名:insert
、属性值:${type:equals('INSERT')}
。
FlowFile包括两部分:第一个是属性:记录FlowFile的元数据,保存关于内容的信息,比如什么时候创建、从哪来、代表什么。
第二个内容:FlowFile的实际内容,比如GetFile读取数据时,读取到的实际文本。
对FlowFile的操作:
第一:更新、添加、删除FlowFile属性。
例如UpdateAttribute,该处理器使用属性表达式语言更新流文件的属性,并且/或则基于正则表达式删除属性。
第二:改变FlowFile内容。
打开Nifi Web页面后,即为主页面,如下图所示:可以创建组,创建任务流。
从常用功能模块,拖动组到画布上,自定义组名。可以通过鼠标移动组在画布位置。
选中某一个组,单击右键选择enter group或者双击组进入组内,在组内单击右键选择leave group退出组。
在常用功能模块,拖动processor,通过搜索选择你需要的组件
配置数据库,选择要执行的SQL语句。
Execution有两个选项,分别是All nodes和Primary node,如果选择All nodes,那么在nifi集群中的所有节点都会执行一遍。
nifi定时任务,可通过timer driver、cron driver、event driver定时调度任务,timer调度可设定调度时间(sec),cron调度需要配置cron表达式,event调度暂时还不能使用。
当这个组件任务执行后,可能出现两种情况,一种是success一种是failure。因为我们没有后续的流,所以通过这样设置然其自身消化即可。
组件处理禁用状态时,不可以有启动暂停操作
通过shift键,可选择需要的所有组件和连接关系,然后点击create template即可创建模板。
从历史创建的模板中选择需要的模板,ADD即可。
nifi支持下载模板,可以将已创建的模板下载到本地。
已下载的模板,可以导入任意的nifi实例中。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。