Я выполняю серию запросов после перечисления таблиц в базе данных, в основном делаю дампы базы данных с добавлением некоторых умов.
Когда данные поступают из ExecuteSql
процессора, они имеют формат Avro. Я могу использовать ConvertAvroToJson
для преобразования в JSON. Затем я могу отправить этот JSON в другое место. Большой!
Однако мне нужно больше информации, встроенной в этот документ JSON. Я минимально хочу:
- имя таблицы, к которой был выполнен запрос,
- база данных DSN (без учетных данных, вероятно, жестко запрограммирована в конфигурации, потому что я не думаю, что она доступна из полей языка выражения NiFi),
- выполненный запрос, сгенерировавший запись,
- номер записи в наборе запроса (общее количество строк уже является атрибутом).
- Произвольная информация, полученная из переменных среды или файла конфигурации, в противном случае возвращается к жестко запрограммированной в
UpdateAttributes
процессоре
ExecuteSQL
, похоже, не предоставляет эту информацию, но кажется, что он копирует атрибуты из входного файла потока. Я мог бы поместить часть этой информации во входные атрибуты потокового файла через UpdateAttributes
ранее в конвейере. Если это возможно, как я могу объединить вывод JSON из ExecuteSQL -> ConvertAvroToJSON
с атрибутами, возможно, выводимый из процессора AttributesToJson
?