nifi报错问题记录

博客内容涉及Nifi在处理数据库同步时遇到的问题及解决方法。首先,Nifi页面出现错误,原因是缺少WAL(postgreSQL)日志文件。解决方法是通过SQL命令删除事务槽并重新同步。其次,另一个页面报错,解决方案是在DatabaseCdc组件中添加参数database.history.skip.unparseable.ddl=true来避免解析错误。
摘要由CSDN通过智能技术生成

1.nifi页面报错提示如下:

查看日志后发现缺少WAL(pg数据库)日志文件:

处理方案:

删除事务槽重新同步:

select pg_drop_replication_slot('事务槽名字') ;

select * from pg_replication_slots   --获取需要的事务槽

结果发现nifi正常运行;

2、页面报错如下:

解决办法:

DatabaseCdc 0.0.1-SNAPSHOT组件添加参数如下:

database.history.skip.unparseable.ddl=true;

 

NiFi的PutDatabaseRecord是一种用于将记录插入到数据库的处理器。它可以将数据流中的记录插入到配置的数据库表中。 PutDatabaseRecord的工作原理如下: 1. 首先,我们需要配置一个数据库连接池控制器,在其中提供数据库连接信息,例如数据库URL、用户名、密码等。 2. 接下来,我们配置PutDatabaseRecord处理器。在处理器的属性设置中,选择之前创建的数据库连接池控制器,并选择要插入记录数据库表。 3. 然后,我们需要在输入端口定义数据流中记录的模式。这可以通过模式注册表来定义,也可以直接输入一个带有记录模式的示例数据流。 4. 在记录模式中,我们可以定义记录的字段,以及每个字段的数据类型、长度、约束等信息。 5. 最后,通过输入端口将包含待插入记录的数据流连接到PutDatabaseRecord处理器。 当PutDatabaseRecord处理器接收到数据流时,它会将每个记录插入到目标数据库表中。它将根据记录模式中定义的字段和类型将数据转换为对应的数据库列,然后执行插入操作。如果插入操作成功,则将记录传递到输出端口。 需要注意的是,PutDatabaseRecord处理器只支持一次插入一条记录,而不支持批量插入。如果我们想要批量插入记录,可以将PutDatabaseRecord处理器与其他处理器(如ConvertRecord)结合使用,以实现将多条记录转换为一条记录插入数据库的功能。 总之,NiFi的PutDatabaseRecord处理器是一个方便的方式来将记录插入到数据库表中,并提供了灵活的记录模式定义和数据转换功能。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值