一. 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等等打标签做说明

最新文章

  1. wamp环境 安装memcache 扩展
  2. js串讲整理
  3. [C#] 语法之Attribute
  4. Android--使用Notification在通知栏显示消息
  5. 远程登陆MS azure Linux 虚拟机
  6. eclipse中格式化代码快捷键Ctrl+Shift+F失效的解决办法
  7. JS可维护性代码
  8. spring mvc3 静态文件放在WEB-INF下无法访问解决和解决@Controller失效问题
  9. 使用matlab生成sine波mif文件
  10. 接触vsto,开发word插件的利器
  11. 使用scrapy爬虫,爬取17k小说网的案例-方法二
  12. HNUOJ 13341
  13. Spring MVC 注解
  14. 3.1.1 Spring 简介
  15. UIKit-UIBezierPath
  16. 【代码笔记】iOS-自定义alertView
  17. ios中创建自己的框架
  18. Redhat系统部署安装Splunk
  19. android实操--练习2
  20. Apache 子项目 概述

热门文章

  1. 50道SQL练习题及答案与详细分析!!!
  2. POJ 2778:DNA Sequence(AC自动机构造矩阵)
  3. git简介 http://msysgit.github.io/
  4. 剑指offer第二版-5.替换空格
  5. java基础——入门篇
  6. Bzoj 3124: [Sdoi2013]直径 题解
  7. 番外:深浅copy
  8. js深入之call、apply和bind
  9. HDU - 1232 畅通工程【并查集】
  10. 洛谷P1690 贪婪的Copy 题解