covertJSONtoSQL возвращает пустые значения в NiFi
Я проектирую работу, которая переносит данные из базы данных в MySQl в другую базу данных (MySQL), используя процессор ExecuteSQL, затем ConvertAvroToJson, затем ConvertJsonToSQL, затем PutSQL, как показано на блок-схеме ниже.
ConvertJSONToSQL, возвращающий пустые значения, как показано ниже
INSERT INTO source_count (field1, field2, field3, field4, field5, field6, field7, field8, field9, field10, field11, field12) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)
что может быть не так в этом рабочем процессе?
1 ответ
Решение
Помимо ответа, приведенного в комментариях (для использования отношения sql с ConvertJSONToSQL), если у вас есть хотя бы NiFi 1.2.0, вы можете заменить все после ExecuteSQL на PutDatabaseRecord. Он позволяет вам настроить считыватель (вы бы выбрали AvroReader, который использует встроенную схему) и установить тип операции INSERT, и он будет обрабатывать генерацию и выполнение SQL для вас.