初识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很易于使用,强大.可靠及高可配置. 两个 ...
随机推荐
- 使用elasticsearch启动项目报错failed to load elasticsearch nodes 。。。。。No type specified for field [name]
failed to load elasticsearch nodes .....No type specified for field [name]翻译: 加载ElasticSearch节点失败... ...
- Appium+python自动化(十三)- 输入中文 - 一次填坑记(超详解)
简介 无论你在哪里,在做什么都会遇到很多坑,这些坑有些事别人挖的,有些是自己挖的.别人挖的叫坑人,自己挖的叫自杀,儿子挖的叫坑爹.因此在做app自动化道路上也不会是一帆风顺的,你会踩很多坑,这些坑和你 ...
- java获取Timestamp类型的当前系统时间
java获取取得Timestamp类型的当前系统时间 java获取取得Timestamp类型的当前系统时间 格式:2010-11-04 16:19:42 方法1: Timestamp d = new ...
- Django中CBV View的as_view()源码解析
CBV与FBV路由区别 urlpatterns = [ url(r'^publish/$', views.Publishs.as_view()), # CBV写法 url(r'^publish/$', ...
- ES6_05_三点运算符和形参默认值
三点运算符的用途: # 1. rest(可变)参数 * 用来取代arguments 但比 arguments 灵活,只能是最后部分形参参数 function fun(...values) { cons ...
- MyBatis从入门到精通(八):MyBatis动态Sql之foreach标签的用法
最近在读刘增辉老师所著的<MyBatis从入门到精通>一书,很有收获,于是将自己学习的过程以博客形式输出,如有错误,欢迎指正,如帮助到你,不胜荣幸! 本篇博客主要讲解如何使用foreach ...
- 源码阅读 - java.util.concurrent (四)CyclicBarrier
CyclicBarrier是一个用于线程同步的辅助类,它允许一组线程等待彼此,直到所有线程都到达集合点,然后执行某个设定的任务. 举个例子:几个人约定了某个地方集中,然后一起出发去旅行.每个参与的人就 ...
- scrapy基础知识之将item 通过pipeline保存数据到mysql mongoDB:
pipelines.py class xxPipeline(object): def process_item(self, item, spider): con=pymysql.connect(hos ...
- 02(e)多元无约束优化问题- 梯度的两种求解方法以及有约束转化为无约束问题
2.1 求解梯度的两种方法 以$f(x,y)={{x}^{2}}+{{y}^{3}}$为例,很容易得到: $\nabla f=\left[ \begin{aligned}& \frac{\pa ...
- 最近学习了HBase
HBase是什么 最近学习了HBase,正常来说写这篇文章,应该从DB有什么缺点,HBase如何弥补DB的缺点开始讲会更有体感,但是本文这些暂时不讲,只讲HBase,把HBase相关原理和使用讲清楚, ...