covertJSONtoSQL 在 NiFi 中返回空值

2021-11-12 00:00:00 mysql processor apache-nifi

我正在设计一项工作,它使用 ExecuteSQL 处理器将数据从 MySQl 中的数据库传输到另一个数据库(MySQL),然后是 ConvertAvroToJson,然后是 ConvertJsonToSQL然后PutSQL如下流程图

I am designing a work which takes a data from on database in MySQl to another database(MySQL) using ExecuteSQL processor followed up with ConvertAvroToJson then ConvertJsonToSQL then PutSQL as shown in below flow chart

ConvertJSONToSQL 返回如下所示的空值

 INSERT INTO source_count (field1, field2, field3, field4, field5, field6, field7, field8, field9, field10, field11, field12) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)

处理器配置为

这个工作流程有什么问题?

what can be wrong in this workflow?

推荐答案

除了评论中给出的答案(使用与 ConvertJSONToSQL 的 sql 关系),那么如果你至少有 NiFi 1.2.0,你可以在之后替换所有内容使用 PutDatabaseRecord.它允许您配置阅读器(您可以选择 AvroReader 使用Embedded Schema)并将操作类型设置为INSERT,它将处理SQL为您生成和执行.

Besides the answer given in the comments (to use the sql relationship with ConvertJSONToSQL), then if you have at least NiFi 1.2.0, you can replace everything after ExecuteSQL with PutDatabaseRecord. It lets you configure a reader (you would choose an AvroReader that uses the Embedded Schema) and set the operation type to INSERT, and it will handle the SQL generation and execution for you.

相关文章