什么是 Apache NiFi?
Apache NiFi 是一个强大、可靠的数据集成和自动化系统,专门设计用于数据流的自动化管理。它最初由美国国家安全局(NSA)开发,后来开源并贡献给Apache基金会,成为顶级项目。
核心设计理念
NiFi 的核心理念是 "数据流编程" ,它让用户能够直观地设计、控制和监控数据在系统间的流动,就像在工厂中控制物料流水线一样。
主要特性
1. 可视化数据流设计
基于Web的可视化界面,拖拽式组件
实时查看数据在系统中的流动状态
无需编写代码即可构建复杂的数据管道
2. 强大的数据溯源
完整的数据血缘追踪
每个数据包的来源、处理历史、目的地都清晰可查
支持数据质量分析和问题排查
3. 丰富的内置处理器
NiFi提供了400+种开箱即用的处理器,包括:
数据提取:HTTP、Kafka、数据库、文件系统等
数据转换:JSON/XML/CSV转换、加密解密、压缩解压
数据路由:基于内容的路由、拆分、聚合
协议支持:SFTP、JMS、MQTT、Web Services
这是安装后,登录Web后的初始界面

如何获取和安装Apache NiFi呢?
首选途径是通过nifi.apache.org官方网址下载,支持Linux和Windows系统,国内官网下载速度比较慢。可用使用国内的镜像地址下载,比如可用下载这个1.28版本的安装包。

安装及运行Apache NIFI
根据自己的需求,选择版本下载,下载安完成后解压即可。进入解压后的文件夹,在Bin目录下有很多bat命令。
run-nifi.bat顾名思义就是运行nifi的作用。
dump-nifi.bat是停止nifi服务

点击run-nifi.bat后进入DOS界面,如果没有报错,那么在浏览器访问这个地址:http://localhost:8080/nifi,即可进入Nifi服务界面。Nifi安装及配置的相关经验,点击查阅
Apache Nifi运行后基本的功能使用介绍:

顶部左上角第一个nifi图标,这个当然就是nifi服务的Logo.
Nifi Logo右侧第一个菜单,我们可以理解为处理器(Processor),用鼠标单击拖出到画布上,便会出现处理器(Processor)菜单 (这个最常用)
Nifi Logo右侧第4个菜单,称为处理器组。当你拉了很多处理器(Processor),形成了一个完整的流程的时候,可以单独把这块通过处理器组划分成一个整体。
Nifi Logo右侧第2、3个菜单,组与组之间也需要通信,通过入口和出口,把它们放在组内。
Nifi Logo右侧第5个菜单是集群Nifi进行数据通信的时候用的
Nifi Logo右侧第6个组件就是个漏斗,主要作用就是把四散的数据可以汇集在一起
接着介绍,简单介绍如何利用apache nifi数据管道定时联动Mysql数据库获取数据并存储到本地(其他数据库或文件传输方式,类似摸索试试)
鼠标移动到左上角处理器组件,按住鼠标拖到工作区。就会弹出如下Add Processor的界面

如下图所示截图,Apache NiFi 安装运行后,通过Web界面拖入4个处理器。

第一个:GeneralFlowFile -> 一个空的工作流,用于在Schedule属性设置启动周期
第二个:ExcuteSQL 1.28.1 -> 执行SQL命令的组件
第三个:ConvertRecord 1.28.1 -> 接收第二步SQL查询出的数据,并进行格式转换输出
第四个:PutFile -> 保存文件的组件。接收第三步格式转换后的数据,存储到指定文件夹
通过以上4个步骤,即可定时完成数据库数据提取、处理和本地化存储。
Apache NiFi相关合集文章
Apache NiFi安装及配置启动教程详细指南
Apache NiFi MySQL数据获取、格式处理及本地存储学习案例

发表评论 取消回复