nifi:使用eclipse开发自己的nifi processor

1、安装JDK8,maven,eclipse配置maven管理工具。

2、eclipse新建maven项目,如下图所示


3、点击next,进入如下图所示页面


4、默认选项,继续点击next进入如下页面


5.点击上图中箭头所指的按钮 Add Archetype进入如下所示页面


6、填写:

Archetype Group Id:org.apache.nifi

Archetype Artifact Id:nifi-processor-bundle-archetype

Archetype Version:1.2.0

点击OK,可以看到nifi的archetype已经添加到meven中了。


7.选择org.apache.nifi,点击next,如下图所示


8、填写项目信息后点击finish完成项目创建


9、创建完成以后项目下新生成3个目录,我们要开发的东西在nifi-nifitest-processors中完成。



10、打开nifi-nifitest-processors目录如下:


11、在包下新加类起名XWDCGetATags使之继承AbstractProcessor,注解tags中添加一些关键词,后面的实用过程中可以通过关键词查询processor


12、新建几个PropertyDescriptor(接受页面配置的参数,如果不需要参数,可以不进行配置)


13、新建几个Relationship(输出状态,成功或者失败或者其他)


14.定义两个集合添加上面创建的PropertyDescriptor和Relationship


15、添加初始化方法将步骤12,和13创建的属性添加到集合中


16、添加步骤14中创建的属性的get方法


17、onTrigger方法中实现自己的业务

自定义属性的值的获取方法:String = isagent = context.getProperty(IS_AGENT).getValue();

获取flowFile中的内容的方法:

byte[] buffer = new byte[(int) flowFile.getSize()];
session.read(flowFile, new InputStreamCallback() {
@Override
public void process(final InputStream in) throws IOException {
StreamUtils.fillBuffer(in, buffer);
}
});
String content = new String(buffer, StandardCharsets.UTF_8);

18、将自己处理后的结果返回给flowFile 我这里返回的是一个json


19、找到文件org.apache.nifi.processor.Processor


20、在里面添加:包名+类名,将processor暴露出来


21、maven运行nifitest,会在项目nifi-nifitest-nar下生成一个nar的包,将包放在nifi目录下的lib目录中,重启nifi服务器即可看到自己添加的processor了。


源码地址:http://download.csdn.net/download/scujinxiang/10208384

参考:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值