初识Apache NiFi
一. NiFi介绍
Apache NiFi支持功能强大且可扩展的数据路由,转换和系统中介逻辑的有向图。 Apache NiFi的一些高级功能和目标包括:
- 基于Web的用户界面
- 设计,控制,反馈和监控之间的无缝体验
- 高度可配置
- 容忍损失与保证交付
- 低延迟与高吞吐量
- 动态优先级
- 可以在运行时修改流程
- 备压
- 数据来源
- 跟踪从头到尾的数据流
- 专为扩展而设计
- 构建自己的处理器等等
- 实现快速开发和有效测试
- 安全
- SSL,SSH,HTTPS,加密内容等
- 多租户授权和内部授权/策略管理
二. 用户界面介绍

介绍NiFI界面之前先了解NiFi的基本对象FlowFile
FlowFile
表示在系统中移动的每个对象,对于每个对象,NiFi跟踪键/值对属性字符串的映射及其相关的零个或多个字节的内容。
简单理解:FlowFile就是文件,见图中红色所圈queue树为2,大小为0bytes;FlowFile是如何产生的呢?选中GenerateFlowFile右键执行后产生的。

选择队列右键选择list queue,然后就看到了2个FlowFile的相关信息了

1. Processor(处理器)
介绍:处理器是真正起作用的。 处理器对系统之间的数据路由,转换或中介进行某种组合。 处理器可以访问给定FlowFile及其内容流的属性。
处理器可以在给定的工作单元中对零个或多个FlowFiles进行操作,并提交工作或回滚。
使用:选中Processor图标拖入画布中,如图所示,然后选择你所需要使用的processor,processor的使用示例见下篇文章

2.Input Port(输入端口)
用于Process Group和Remote Process Group
在同一个Process Group中不需要使用Input Port,而在不同Process Group之间进行FlowFile传输时就需要使用到Input Port
见Process Group的例子
3.output Port(输出端口)
用于Process Group
在同一个Process Group中不需要使用Input Port,而在不同Process Group之间进行FlowFile传输时就需要使用到Input Port
见Process Group的例子
4.Process Group(进程组)
介绍:处理组是一组特定的进程及其连接,可以通过输入端口接收数据并通过输出端口发送数据。以这种方式,处理组允许仅通过组合其他组件来创建全新组件。
简单说就是对多个processor分成同一个组,根据你自己的业务或功能分组
使用:比如说我要从hdfs上获取一个目录下的所有文件数据(josn)同步到mysql库中,选中Process Group拖入画布中,如同所示:

1.进入GetHdfsFiles处理组,该组是获取hdfs上的数据,使用了ListHdfs、FetchHdfs、splitText处理器及Output Port

2.进入syncDataToMysql处理组,该组是把数据插入mysql中,使用了Input Port及ConvertJSONToSQL、PutSQL处理器

5.Remote Process Group(远程进程组)
不同NiFi单节点或集群之间的FlowFile传输,同一NiFi集群单节点的FlowFile分发到多个节点
6.Funnel(漏斗)
把多个输入合入到一条流中
7.Template(模板)
选择已导入到NiFi上的模板(XML文件)
8.Label(标签)
给Processor、Process Group、Remote Process Group等等打标签做说明
初识Apache NiFi的更多相关文章
- 【NIFI】 Apache NiFI 使用技巧
本章介绍NIFI组件的使用. 主要有:Nginx反向代理NIFI,配置SSLContextService Nginx反向代理NIFI 使用nginx反向代理NIFI配置如下 upstream nifi ...
- 【NIFI】 Apache NiFI 授权配置
当NIFI未配置需要单向SSL(例如LDAP,OpenId Connect等)的替代认证机制时,NiFi的Web服务器将要求访问用户界面的用户使用基于证书的客户端身份验证.启用备用身份验证机制会将We ...
- 【NIFI】 Apache NiFI 集群搭建
NiFI 集群介绍 NiFi集群架构 NiFi采用Zero-Master Clustering范例.集群中的每个节点对数据执行相同的任务,但每个节点都在不同的数据集上运行.其中一个节点自动选择(通过A ...
- 【NIFI】 Apache NiFI 安装及简单的使用
NiFI介绍 NiFi(NiagaraFiles)是为了实现系统间数据流的自动化而构建的.虽然术语“数据流”用于各种上下文,但我们在此处使用它来表示系统之间的自动和管理信息流 官网地址:http:// ...
- 【NIFI】 Apache NiFI 之 ExecuteScript处理(二)
本例介绍NiFI ExecuteScript处理器的使用,使用的脚本引擎ECMScript 接上一篇[NIFI] Apache NiFI 之 ExecuteScript处理(一) ExecuteScr ...
- 【NIFI】 Apache NiFI 之 ExecuteScript处理(一)
本例介绍NiFI ExecuteScript处理器的使用,使用的脚本引擎ECMScript FlowFile I / O简介 NiFi中的流文件由两个主要组件构成,即属性和内容.属性是关于内容/流文件 ...
- 【NIFI】 Apache NiFI 与 SQL 操作
本里需要基础知识:[NIFI] Apache NiFI 安装及简单的使用 查询SQL 1.拖入一个 Processor:ExecuteSQLRecord(执行sql记录) 2.配置,SETTINGS的 ...
- Apache Nifi在Windows环境下搭建伪群集及证书登录
代码地址如下:http://www.demodashi.com/demo/11986.html 前些时间做了关于Apache Nifi分布式集群的搭建分享,但很多时候要搭建分布式集群机器资源是个问题, ...
- Apache Nifi 开发
Apache NiFi是由美国过国家安全局(NSA)贡献给Apache基金会的开源项目.其设计目标是自己主动化系统间的数据流.基于其工作流式的编程理念.NiFi很易于使用,强大.可靠及高可配置. 两个 ...
随机推荐
- Jenkins的安装与使用(一)
jenkins是一个广泛用于持续构建的可视化web工具,持续构建说得更直白点,就是各种项目的"自动化"编译.打包.分发部署.jenkins可以很好的支持各种语言(比如:java, ...
- 关于火狐浏览器设置cookie的一个问题
最近发现我一个项目的网页,里面的cookie无法添加了,急的我瞪着我的PHP代码沉思了好久,我默认用的火狐浏览器,然而我默默的打开另一个叫360的浏览器,发现它的cookie是正常添加的. ... 难 ...
- SCUT 130:对抗女巫的魔法碎片(贪心)
https://scut.online/p/130 130. 对抗女巫的魔法碎片 题目描述 光明世界的一个国家发生动荡,女巫利用了邪恶的力量将国家的村庄都施下了咒语,好在国家还有英勇的士兵,他们正义的 ...
- Go - 循环
目录 概述 循环 array 循环 slice 循环 map break continue goto switch 推荐阅读 概述 前几篇文章分享了 array 数组.slice 切片.map 集合, ...
- Redis在.net 环境下的使用
Redis概念 Redis是一个开源的使用ANSI C语言编写.支持网络.可基于内存亦可持久化的日志型.Key-Value数据库,和Memcached类似,它支持存储的value类型相对更多,包括st ...
- 配置Windows server 用户和组权限实验详解
目录 操作步骤如下: 在Windows Server开始菜单下点击管理工具下的计算机管理 新建用户 用户创建完毕 新建文件夹 配置技术部读取"技术资料"和"常用软件&qu ...
- Altium Designer设计PCB--如何增大电源地的线宽
笑话: 看见楼下老大爷在下棋,我看了一会儿,跟大爷说:大爷,你che没了. 大爷一脸不屑:小朋友,那叫ju. 然后我静静地在那看了两个小时. 对完棋,大爷起身要走. 我说:大爷,我刚才说的不是你的棋, ...
- Spring Cloud Alibaba | Nacos服务中心初探
目录 Spring Cloud Alibaba | Nacos服务中心初探 1. 什么是Nacos? 1.1 Nacos 1.0 1.2 Nacos 2.0 2. Nacos 架构及概念 2.1 服务 ...
- Bzoj 3165 [Heoi2013]Segment题解
3165: [Heoi2013]Segment Time Limit: 40 Sec Memory Limit: 256 MBSubmit: 668 Solved: 276[Submit][Sta ...
- 在rman恢复中incarnation的概念
摘要 本文主要介绍incarnation的由来,在rman恢复中的作用,以及相关rman恢复的注意事项. 概念说明 从10g开始,incarnation被引入,用于跨越resetlogs进行恢复,由此 ...