nifi自定义组件项目搭建教程

发布于:2023-01-13 ⋅ 阅读:(401) ⋅ 点赞:(0)

nifi自定义组件项目搭建教程

一、测试准备工作

1、jdk环境准备:

本次jdk基于1.8,对于jdk,不建议使用更低的版本,因为再1.4.0的源码中,已经开始支持拉姆达表达式,这个也是从jdk1.8才开始支持

2、中央库的Archetype

nifi对于开发自己的processor有自己的一套框架,使用项目模板,可以引用中央库的Archetype,配置简单方便。

二、注意事项

注:将注意事项放到第二项,是不想读者再折腾一圈后才发现解决方案

1、最原始自定义组件一般只需要创建一次,因为随着组件的更新,组件需要向下兼容,基于原来的组件继续开发比较合理。如果有特殊情况,那就特殊对待。

2、如果存在模板添加失败,重新安装idea或者降低idea版本(此次教程测试idea2021.2.3失败,使用idea2018.1.1)

3、如果pom中有报错信息,直接reimport一下即可

4、目前测试知道的几个版本对应

1.12.1→mvn 3.5以上→jdk11以上

1.9.1→mvn3.5以上都可用→jdk1.8以上都可用

三、nifi模板版本地址

相关版本地址(个别地址404,自行选择):

Maven Repository:org.apache.nifi>nifi-processor-bundle-archetype | 菜鸟教程 | 盘古歌技术

四、项目搭建

1、新建模板

new project

GroupId:org.apache.nifi

ArtifactId:nifi-processor-bundle-archetype

Version:你的NiFi版本(这里选择1.12.1)

2、创建项目

然后选择 nifi-processor-bundle-archetype,填写项目名称、包名和版本,在 Properties 这里需要添加一个 Maven Propert:

Name:artifactBaseName

Value:你的组件名称,我这里叫 custom

 

 

 

 

  

等待构建完成,你就会得到如下的项目结构:

3、项目结构

1、nifi-custom-nar 是 NiFi 的 nar 包项目,这个不用我们管,他依赖了 nifi-custom-processors 模块,这个可以从 pom 文件里看到。

2、src/main/java/net/renfei/nifi/processors/custom

/MyProcessor.java 就是我们的 Processor 了,我们的代码在这里写。

  1. src/main/resources/META-INF/services

/org.apache.nifi.processor.Processor 相当于一个注册列表,我们需要把我们的处理器都写在里面,否则会报错。

  1. src/test/java/net/renfei/nifi/processors/custom

/MyProcessorTest.java 是单元测试代码,可以不依赖 NiFi 直接运行测试我们的 Processor。

 

后续开发以及打包nar包,请见nifi自定义组件开发文档(ps:正在编写中)

本文含有隐藏内容,请 开通VIP 后查看

网站公告

今日签到

点亮在社区的每一天
去签到