Apache nifi demo 实验

Apache Nifi安装与尝试 地址:https://nifichina.github.io/ 阅读详情

Apache nifi 是个数据流系统,可以通过配置 自定义的流程来实现数据的转换。


比如可以配置一个流程,读取数据库里的数据,再转换,最后保存到本地文件。


这样可以来实现一些数据转换的操作,而不用特地编写程序来导入导出。

- 相关资料
国内下载镜像: https://mirrors.aliyun.com/apache/nifi/2.2.0/, 里面有不同的版本,这里下载标准版的nifi-2.2.0-bin.zip
官方文档: https://nifi.apache.org/
processor类型的文档:https://nifi.apache.org/components

本文包含以下内容:
- 启动运行
- 一些概念
- 一个读取csv格式数据,转换为json格式数据,写入到本地磁盘的demo

启动运行:
只需要解压zip,进入bin目录,打开命令行,执行执行nifi start即可启动,启动后密码会生成到logs目录的nifi-app.log文件里,搜索password可以看到生成的账号密码


D:\nifi-2.2.0-bin\nifi-2.2.0\bin>nifi start
JAVA_HOME=C:\Program Files\Java\jdk1.8.0_161
NIFI_HOME=D:\ljhlab\nifi-2.2.0-bin\nifi-2.2.0

日志文件里搜索,可以看到:
2025-03-02 22:17:53,849 INFO [main] o.a.n.a.s.u.SingleUserLoginIdentityProvider

Generated Username [8b418056-cf0a-46a3-b08f-a8ba25563eca]
Generated Password [9Va1ZkYgiXtqnOUytqj63ympwhZOjqZi]
这个就是生成的账号密码

异常处理,可能会遇到jdk版本问题,请下载对于版本的jdk
Error: A JNI error has occurred, please check your installation and try again
Exception in thread "main" java.lang.UnsupportedClassVersionError: org/apache/nifi/bootstrap/BootstrapProcess has been compiled by a more recent version of the Java Runtime (class file version 65.0), this version of the Java Runtime only recognizes class file versions up to 52.0
启动失败,可以看到是jdk版本要 65 ,需要jdk21的意思。
修改nifi-env.cmd,添加,或者直接在环境变量里设置JAVA_HOME的值
set JAVA_HOME="D:\env\openjdk-22.0.1_windows-x64_bin\jdk-22.0.1"

- 进入网页·
访问https://localhost:8443 进入网页ui界面

实验demo:

下面进行一个读取本地csv文件,然后导入到另外目录成json格式的实验,这里为了演示方便,csv数据写死在一个输入组件里。

数据准备:

title,author,score
你杀了谁,东野圭吾,7.1
黄仁勋:英伟达之芯,斯蒂芬·威特,7.3 

流程简介: 就是不断添加不同类型的processor,比如获取文件的,转换数据格式的,然后用线将不同组件链接起来,比如读取文件,链接到解析csv,链接的时候选择relationship,每个组件都会有relationship

实验流程:
- 添加一个组件作为输出数据源
- 添加一个转换数据格式的组件,ConvertRecord,转换csv成json格式
- 添加一个组件,将ConvertRecord都内容输出到本地文件

添加一个GenerateFLowFile的组件,用来生成一个FlowFile,FlowFile可以理解为一行数据,即这个组件会输出一行数据,这里生成一个csv数据

刚添加时有问题就会有黄色标,可以点击查看错误,来修正

每个组件都有properties来设置属性,这里点开来设置,这个组件输出的内容

- 再添加一个处理器,ConvertRecord,这个processor可以配置一个reader和writer,这里的话配置一个csv reader,用来解析第一个处理器传进来的数据。

点开properties,看到设置值里是空的,点击create new service创建一个配置。

然后将两个组件链接起来

可以看到还是有警告,是因为还有relationship没有设置,每个都要设置,

像failure就是失败时的,如果不需要进一步处理可以勾选terminate。success的等会会和链接到一个写入文件的组件里,这里测试也可以暂时设置为terminate先。
如果看到这种警告,就是刚刚添加的service还有有启动,打开properties,点击三个点,点go to service,把服务启动就行,在这里也可以进一步配置这些服务的属性

然后没有警告了,运行测试下,先启动第一个GenerateFlowFile,右键start

可以看到queued里有一个等待了,因为下一个组件还没启动,就在队列里了,再启动CovertRecord来消费。

启动后可以看到in了三个,由于没有输出,可以点击VIew Data Provenance来检查,输入的数据情况。

点击view detail,可以看到输入输出情况,

输出的已经是json格式了,然后可以,添加一个写出的processor,来输出到某个目录。
继续添加processor,

继续链接到一起

然后配置下putFIle的properties,设置写出的目录,
右键start,后可以看到目录以及有写出的文件了。

经验:
- 下拉框为空时,点击三点可以打开创建新service的菜单
- properties tab里配置完后可以点击verfication验证

超详细Apache NIFI同步Mysql (读取binlog)数据变化到Hbase教程 阅读须知(免责声明) 能力有限,NIFI新手入门所写,希望本篇内容错误少一些,避免误导大家的内容存在. 本文由互联网知识内容汇总实现的功能,步骤流程有不完善或可优化的地方,欢迎讨论指正.也希望这篇可以抛砖引玉,对于同样NIFI的新手提供一些帮助,少走一些弯路. 简介 使用Apache NIFI通过读取mysql开启的binlog日志,同步数据库变化到Hbase. 参考内容 使用NiFi将数据从My... 阅读详情

相关推荐

Apache Nifi 安装及MySQL使用(windows版本)

系列文章目录 首先nifi官网下载nifi安装包:http://nifi.apache.org/download.html,这是nifi文档地址http://nifi.apache.org/docs.html 提示:写完文章后,目录可以自动生成,如何生成可参考右边的帮助文档 系列文章目录 文章目录 前言 一、NIFI是什么? 二、使用步骤 1.下载解压 2.读入数据 总结 前言 提示:以下是本篇文章正文内容,下面案例可供参考 一、NIFI是什么? 什..

Angzush的博客 5648

Apache NiFi指南

NiFi是美国国家安全局开发并使用了8年的可视化数据集成产品,2014年NAS将其贡献给了Apache社区,2015年成为Apache顶级项目。是一个基于Web图形界面,通过拖拽、连接、配置完成基于流程的编程,实现数据采集等功能的数据处理与分发系统。说明:Apache NiFi 是为数据流设计支持高度可配置指示图的数据路由、转换和系统中介逻辑支持从多种数据源动态拉取数据NiFi是基于Java的,使用Maven支持包的构建管理NiFi基于Web方式工作,后台在服务器上进行调度。

weixin_59295776的博客 6380

Apache NIFI ExecuteScript组件脚本使用教程

编辑人(全网同名):酷酷的诚 邮箱:zhangchengk@foxmail.com 本文通过Groovy,Jython,Javascript(Nashorn)和JRuby中的代码示例,介绍了有关如何使用Apache NiFi处理器ExecuteScript完成某些任务的各种方法。本文中的内容包括: Introduction to the NiFi API and FlowFiles 从传入队列中获取流文件 创建新的流文件 使用流文件属性 传输流文件 日志 FlowFile I/O and Erro.

酷酷的诚的博客 1741

NiFi-从部署到开发(图文详解)

Apache NiFi 是一款强大的开源数据集成工具,旨在简化数据流的管理、传输和自动化。它提供了直观的用户界面和可视化工具,使用户能够轻松设计、控制和监控复杂的数据流程,NiFi 具备强大的扩展性和可靠性,可用于处理海量数据,并且能很好地应对复杂的数据转换需求,还可以设置定时调度任务特点可视化操作:提供了图形化界面,用户可以通过拖放组件来构建数据处理流程。数据处理功能强大:能够实现数据的获取、转换、分发等操作。

m0_58419490的博客 8750

nifi从入门到实战(保姆级教程)——环境篇

Apache Nifi

u011722306的博客 3500

《数据同步-NIFI系列》Nifi详细教程入门-03处理器

根据元素的数量或FlowFiles内容的总大小(每个bin的最小和最大大小是用户指定的)并且还可以配置可选的Timeout属性,即FlowFiles等待其bin变为配置的上限值最大时间。ListHDFS / FetchHDFS:ListHDFS监视HDFS中用户指定的目录,并发出一个FlowFile,其中包含它遇到的每个文件的文件名。然后可以在集群中,将其发送到FetchHDFS处理器,后者获取这些文件的实际内容并发出包含从HDFS获取的内容的FlowFiles。这里主要是入门操作,看的多了反而觉得杂乱。

https://blog.datasource.space 2581

Apache NiFi 安装和使用

点击工具栏处的Processor,拖拽到工作区,搜索处理器ConvertAvroToJSON,因为在第一步中,我们通过sql查询到的数据为Avro格式,所以在这里需要转化为json在进行输出。可视化编程:基于Web图形界面,用户可以通过拖拽、连接、配置等操作完成基于流程的编程,实现数据采集、处理等功能。数据处理与分发:NiFi是一个统一的、与数据源无关的大数据集成平台,能够自动化管理系统间的数据流。高度可配置:支持高度可配置的指示图,用于指示数据路由、转换和系统中流转关系。配置完之后点击这里,启用连接。

让我们共同进步 3892

避开PSRR仿真三大坑:用Cadence psspxf分析分频器时,这些设置错了白忙活

本文深入探讨了使用Cadence psspxf工具进行分频器PSRR仿真时常见的三大技术陷阱,包括扰动信号参数设置、收敛性优化和后处理信号提取。通过详细的参数推荐和实战技巧,帮助工程师避免仿真误差,提升PSRR分析效率与准确性,特别适用于16分频器等数字-模拟混合电路设计。

weixin_29258297的博客 301

【NiFi】Apache NiFi 助力数据处理及分发

简单的说,NiFi 就是为了解决不同系统间数据自动流通问题而建立的。虽然 dataflow 这个术语在各种场景都有被使用,但我们在这里使用它来表示不同系统间的自动化的可管理的信息流。自企业拥有多个系统开始,一些系统会有数据生成,一些系统要消费数据,而不同系统之间数据的流通问题就出现了。这些问题出现的相应的解决方案已经被广泛的研究和讨论,其中企业集成 eip(Enterprise Integration Patterns) 就是一个全面且易于使用的方案。

Data · Model · Agent · Repeat 3986

利用SPSS实现逻辑回归,树模型,以及广义线性模型

本案例是IBM SPSS数据分析与挖掘实战案例精粹----第九章的学习记录 案例背景:分析出导致急救后迟发性颅脑损伤的主要影响因素,共有201项案例: 分析思路:先使用logistic回归模型进行影响因素筛选,然后利用分类树探索自变量中是否存在交互作用,最后利用广义线性模型过程拟合带交互项的Logistic回归模型 字段:性别,年龄,收缩压,舒张压,血小板,脑挫伤,中线位移,脑肿胀,入院意识,是否手术急救,其余急救措施,是否出现迟发性脑损伤; ...

hepan_defeng的博客 1万+

基于遗传算法的柔性作业车间调度(初始化以及编码策略)

这里写自定义目录标题欢迎使用Markdown编辑器新的改变功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注脚注释也是必不可少的KaTeX数学公式新的甘特图功能,丰富你的文章UML 图表FLowchart流程图导出与导入导出导入 欢迎使用Markdown编辑器 你好! 这是你第一次使用 Markdown编辑器 所展示的欢迎页。如果你想学习如何使用Mar

菜鸡 8594

【亲测免费】 Apache NiFi 模板项目使用教程

Apache NiFi 模板项目使用教程 1. 项目的目录结构及介绍 目录结构 nifi-templates/ ├── CSV to SQL Demo/ │ ├── nifi-template.xml │ └── README.md ├── JSON to SQL Demo/ │ ├── nifi-template.xml │ └── README.md ├── ... └── R...

gitblog_01138的博客 500

NS-3 和Aqua-sim-ng 学习笔记(一)

因为要搞水下网络,OMNET++不太合适,就转Aqua-sim。这是基于NS-2上的模型,NS-2需要额外学一门tcl脚本语言。 正好查到它的一个升级版Aqua-sim-NG,在github上,https://github.com/rmartin5/aqua-sim-ng是基于NS-3的,只需要基本的C++,不用学tcl语言。美滋滋。 装好ubuntu之后,安装NS-3和Aqu...

diboshang8820的博客 2191

Apache Nifi JoltTransformJSON JOLT 语法解析

Apache Nifi 系列 之 JOLT 语法解析 文章目录Apache Nifi 系列 之 JOLT 语法解析前言一、JLOT是什么?二、Demo 解析1.input2.json spec3. json output总结参考 前言 今天先记录一下Jolt语法,因为在nifi流程中,学会jolt语法,可以对json进行随意转换成业务需要的格式,对后续使用 JoltTransformJSON 处理器帮助是巨大的。 一、JLOT是什么? 提供一组转换,可以“链接”在一起以形成整体 JSON 到 JSON

weixin_40265392的博客 2218

【OpenCV-Python】图像的载入、显示和输出(imread()、imshow()、waitKey()、namedWindow()、imwrite())

图像的载入:imread()函数 imread()函数可以用来非常便捷地读取文件中的图片到Opencv中。这个函数一般需要两个参数: (1)载入图片的路径名。如果图像文件在工程文件夹下,可以直接用文件名读取,如“cat.jpg”,否则需要输入完整的访问路径,如“D:\\test\\lena.png”。这里还有几个tips: imread函数中,一个点代表省略当前文件夹路径,两个点则代表回...

M&Q的博客 1397

基于改进YOLO11的天际线检测算法:复杂光照与恶劣天气适配实战

针对特定任务的YOLO改进,不应追求通用SOTA,而应深入理解任务的物理退化机理。Retinex对应光照模型、FAD对应散射模型、Wise-IoU对应边界不确定性——每个改进都有明确的物理解释,而非盲目的模块堆叠。时序一致性:引入轻量级RNN/Transformer模块利用视频帧间信息补偿单帧退化;多模态融合:结合红外/NIR波段穿透雾霾,与可见光特征在FAD-Neck中交叉注意力融合;自监督预训练:在海量无标注天际线视频上用MAE预训练Backbone,缓解恶劣天气标注稀缺问题。

专注于Python爬虫开发,分享爬虫技巧、项目实战与反爬经验,使用Scrapy、BeautifulSoup等工具,解决数据抓取难题。 95

Apache Nifi

2.2.4 NiFi创建数据流在创建NiFi数据流之前,先回顾下上一章节提到的两个重要术语:FlowFile和处理器单元,这两个是数据流的重要概念,对于我们理解并创建数据流有很大的帮助。FlowFile:数据流中的任何的用户数据都以FlowFile的形式存在。FlowFile包括两部分:正文和属性;其中正文指的是数据本身的内容,而属性则是对数据进行描述的键值对。处理器单元:处理器单元是NiFi数据...

功夫熊猫 1141

点到面点云配准(Point To Plane)算法知识详解和详细推导,C++代码实现

点到面 ICP (Iterative Closest Point) 是在 3D 点云配准中常见的一种变体,通过最小化点到对应面(由法向量定义的局部平面)的距离来提高收敛速度和精度。

qq_36812406的博客 1810

Apache NiFi在电商实时数据分析中的实战案例

上发现可以直接体验预置的NiFi demo项目,不需要自己搭建环境就能快速验证想法,对于想学习数据流水线的同学特别友好。他们的实时预览功能让我能随时检查数据处理结果,部署到测试环境也只需要点一次按钮,比传统方式省心多了。今天想和大家分享一个真实的电商项目案例,我们是如何用Apache NiFi搭建实时用户行为分析管道的。这个系统上线后,帮助业务团队实现了秒级的用户行为洞察,效果非常显著。我们需要在用户浏览商品的30秒内,就能识别其兴趣偏好,为推荐系统提供实时数据支持。双写输出组:并行写入ES和HDFS。

NightshadeEagle34的博客 710

IDEA的使用指南

IDEA基于java的使用手册,可以最快速的上手,在使用中不断的丰富自己的使用技巧.

大中型超市收银系统(可直接运行)

光步前台收银系统系统功能:商品销售、商品退货、挂单、收银员权限、会员销售、单品取消、整单取消、商品查询、脱机销售、脱机数据上传,基本资料下载,开钱箱、小票打印、收款结算,支持多币种付款方式(现金、储值卡、礼券、微信等),支持多种促销。运行环境:.net 4.0登陆信息用户名:1001 密码:123456内置商品信息,商品编码可输入00001000 - 00010000,测试效果相关功能键F5 结算 F9挂单 F11商品查询 F8退货 Insert单品取消 Del整单取消 F12开钱箱F2 会员 Ctrl+Z退出系统 Home 锁屏 相关源码待公开

NIFI 自定义 processor 实现

NIFI 自定义 processor 实现

修行修心 5081

C# WinForm 基于DirectShow.dll编写的程序,可边预览边保存视频,音频和图片

基于微软的DirectShow.dll的二次开发1.自动识别连接的摄像头跟麦克风且可以对其进行选择(默认选中第一个)2.可录制wmv和avi两种格式的视频并且都带有音频,avi可以录制的分辨率和帧数进行选择,wmv默认进行了淸晰度优化如不喜欢可去除代码中有相关提示3.可在预览点开之后进行拍照,也可边录制视频边拍照4.添加了视频和音频的压缩功能(酌情使用)这次二次开发发现C#对DirectShow的相关信息太少,这次做完也不敢藏私共享出来,还望大家指正

Apache NiFi 自定义Processor处理器编写

当我们在使用ApacheNiFi时,当已有的processor不支持我们现有需求时,需要我们自己编写自定义处理器并且发布,以至于更好的支持我们的需求; 下面我写一个将JSON数据转化为Excel并且输出到本地文件的自定义Processor Demo

让我们共同进步 1902

数学建模模型总结

这是本人在两年内准备参加数学建模竞赛搜集到的模型资料,已经经过了本人的筛选和整理,希望能够对准备参加数学建模竞赛的学弟学妹们提供一些帮助!

自定义的NiFi Processor的步骤

文章目录1.环境要求2.Developing2.1 new处理器的文件2.2 new一个自定义的processor2.3 Test3.Deployment3.1 打包3.2 上传3.3 重启Nifi进入UI 1.环境要求 1.1 NiFi是使用java编写的,所以需要JDK 1.2 maven中需要的项目依赖 <dependencies> <dependency> ...

jingtiaoyang6666的博客 2430

[bigdata-028]apache nifi 从mysql导出数据到hbase

0.在hbase节点,启动thrift服务 hbase-daemon.sh start thrift 1. 在本机启动nif ./bin/nifi.sh start 2. 在浏览器输入http://localhost:8080/nifi,看到nifi的界面 3. 拖一个processor ExecuteSQL到界面     3.1 在processor上点击右键,选择con

大数据和机器学习研究 5226

Apache nifi 实例

Apache nifi 实例的一些实例, 1. mysql_to_mysql 2. mysql_to_hdfs 3. mysql_to_es demo导出模版xml ,  demo_all.xml , 通过下面的upload Template 导入模版, 然后自己添加模版就可以在本机看到了 801728b8-0159-1000-1429-a0

kevin_xiang的专栏 6289

Apache NiFi Flow Design System 使用教程

Apache NiFi Flow Design System 使用教程 项目的目录结构及介绍 Apache NiFi Flow Design System (FDS) 是一个用于提供一致 UI/UX 组件的平台。以下是项目的目录结构概览: nifi-fds/ ├── demo/ │ ├── src/ │ └── ... ├── dist/ │ ├── core/ │ └── ......

gitblog_00509的博客 398
上一篇: Docker部署MySQL
FormatFa
博客等级 码龄11年 91粉丝 10原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值