开发创建自定义 NiFi Processor 的教程
2021年03月16日 13:03:32 · 本文共 869 字阅读时间约 3分钟 · 4,856 次浏览本教程将带你创建一个自定义的 Apache NiFi Processor 项目,创建自己的处理器处理 FlowFile,本文的源代码在此处公开:https://github.com/renfei/demo/tree/master/nifi/nifi-custom-bundle
Add Archetype(添加原型)
新建项目,选择 Maven 项目,勾选 Create from archetype(从原型创建),然后 点击 Add Archetype(添加原型)添加:
- GroupId:org.apache.nifi
- ArtifactId:nifi-processor-bundle-archetype
- Version:你的NiFi版本
创建项目
然后选择 nifi-processor-bundle-archetype,填写项目名称、包名和版本,在 Properties 这里需要添加一个 Maven Propert:
- Name:artifactBaseName
- Value:你的组件名称,我这里叫 custom
等待构建完成,你就会得到如下的项目结构:
项目结构
nifi-custom-nar 是 NiFi 的 nar 包项目,这个不用我们管,他依赖了 nifi-custom-processors 模块,这个可以从 pom 文件里看到。
src/main/java/net/renfei/nifi/processors/custom/MyProcessor.java 就是我们的 Processor 了,我们的代码在这里写。
src/main/resources/META-INF/services/org.apache.nifi.processor.Processor 相当于一个注册列表,我们需要把我们的处理器都写在里面,否则会报错。
src/test/java/net/renfei/nifi/processors/custom/MyProcessorTest.java 是单元测试代码,可以不依赖 NiFi 直接运行测试我们的 Processor。
关于开发
在 NiFi 中是高并发环境,需要多线程的编程经验,否则一旦处理不好可能会出现问题甚至将内存占满,由于目前我不确定我能 100% 正确的处理数据,所以在这里先不贴开发的相关代码了。
我也在不断学习充电,我需要先再看一遍并发编程和JVM的堆栈结构和内存模型,再开始coding。
版权声明:本文为博主「任霏」原创文章,遵循 CC BY-NC-SA 4.0 版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.renfei.net/posts/1003465
相关推荐
猜你还喜欢这些内容,不妨试试阅读一下以下内容均由网友提交发布,版权与真实性无法查证,请自行辨别。
- 前后端分离项目接口数据加密的秘钥交换逻辑(RSA、AES)
- OmniGraffle 激活/破解 密钥/密匙/Key/License
- 人大金仓 KingbaseES V8 R3 安装包、驱动包和 License 下载地址
- Parallels Desktop For Mac 16.0.1.48911 破解版 [TNT]
- Redis 未授权访问漏洞分析 cleanfda 脚本复现漏洞挖矿
- CleanMyMac X 破解版 [TNT] 4.6.0
- OmniPlan 激活/破解 密钥/密匙/Key/License
- Sound Control 破解版 2.4.2
- Parallels Desktop For Mac 15.1.4.47270 破解版 [TNT]
- Parallels Desktop For Mac 16.0.0.48916 破解版 [TNT]
- 博客完全迁移上阿里云,我所使用的阿里云架构
- 微软确认Windows 10存在bug 部分电脑升级后被冻结
- 大佬们在说的AQS,到底啥是个AQS(AbstractQueuedSynchronizer)同步队列
- 比特币(BTC)钱包客户端区块链数据同步慢,区块链数据离线下载
- Java中说的CAS(compare and swap)是个啥
- 小心免费主题!那些WordPress主题后门,一招拥有管理员权限
- 强烈谴责[wamae.win]恶意反向代理我站并篡改我站网页
- 讨论下Java中的volatile和JMM(Java Memory Model)Java内存模型
- 新版个人网站 NEILREN4J 上线并开源程序源码
- 我站近期遭受到恶意不友好访问攻击公告