Nifi Processor开发 01

本文档介绍了如何开发Nifi Processor,从环境准备到案例源码,详细讲解了Processor的类属性方法,如PropertyDescriptor和onTrigger。并讨论了参数获取、解析方式,以及在开发中遇到的问题和解决方案,如FlowFile的转发规则和远程调试技巧。
摘要由CSDN通过智能技术生成

声明!

这就是个小白文,刚接触Nifi,想要自己开发组件的,可以当做借鉴后续还会补充自己认为值得记录的东西

准备工作

环境准备

案例源码

以简单的向处理的数据中添加常量为例,简单介绍一下Nifi自定义processor开发的过程

//不需要关注上下文
@SideEffectFree
//支持批量
@SupportsBatching
//用于标记这个processor的标签,可以用于搜索
@Tags({
    "add", "value", "avro" })
// 声明,对于该processor输入是必须的
@InputRequirement(Requirement.INPUT_REQUIRED)
//针对这个processor的注释
@CapabilityDescription("Add static value to JStream\n向给定的Json字符流中添加指定的变量")
@WritesAttribute(attribute = "mime.type", description = "Sets the mime type to application/avro-binary")
public class AddStaticValue extends AbstractProcessor {
   
	private List<PropertyDescriptor> properties;
	private Set<Relationship> relationships;
	public static final PropertyDescriptor PARAM_NAME = new PropertyDescriptor.Builder()
			// 参数名,输入框前展示的内容
			.name("PARAMATER NAME")
			// 是否必填
			.required(true)
			// 添加过滤器
			.addValidator(StandardValidators.NON_EMPTY_VALIDATOR)
			// 内容添加完成后构建
			.build();
	public static final PropertyDescriptor PARAM_VALUE = new PropertyDescriptor.Builder()
			// 参数名,输入框前展示的内容
			.name("PARAMATER VALUE")
			// 是否必填
			.required(true)
			// 添加过滤器
			.addValidator(StandardValidators.NON_EMPTY_VALIDATOR)
			// 内容添加完成后构建
			.build();
	public static final PropertyDescriptor CJRWXX = new PropertyDescriptor.Builder()
		// 参数名,输入框前展示的内容
		.name("cjrwxx")
		// 是否必填
		.required(
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值