Apache NiFi может быть правильным ответом для этого случая, но может привести к деталям.
Ваш случай наличия множества различных источников данных - это общий шаблон развертывания для NiFi, где пользователи будут выполнять несколько многоуровневый подход:
- перенос данных из соответствующих источников,
- аннотирование / извлечение ключевых атрибутов / свойств фрагмента данных
- преобразование данных в каноническое представление,
- маршрутизация к соответствующим нижестоящим потребителям,
- прохождение его через процессор для сохранения в целевом хранилище / системе / службе
Сценарии как многие люди вначале тяготеют к решению этой проблемы, но могут привести к недисциплинированному сбору таких единичных процессов, которые сложно рассмотреть в целом, и рассуждать о своем взаимодействии друг с другом. Для долгосрочных потоков данных, которые будут развиваться и потенциально приносить дополнительные источники / приемники, NiFi является отличным предложением, чтобы вывести этот путь данных в консолидированное представление. Кроме того, пользовательский интерфейс позволяет пользователям вносить изменения, когда эти «спецификации» неизбежно изменяются и реагируют быстрее, чем при изменении одного или нескольких скриптов / приложений.
Учитывая упоминание «простого» ETL и тот факт, что вы используете другие источники помимо баз данных, это, кажется, вписывается в сферу предполагаемого использования NiFi. NiFi не подходит для некоторых из более сложных операций ETL и не имеет пользовательского интерфейса, созданного для этих типов операций.