Какой процессор Nifi использовать для RDBMS Extract - PullRequest
0 голосов
/ 04 февраля 2019

Я объясню свой вариант использования, чтобы понять, какую утилиту извлечения БД использовать.

  1. Мне нужно извлекать данные из таблиц SQL Server с различной частотой каждый день.Каждый запрос извлечения представляет собой сложный оператор SQL, включающий 5-10 таблиц в соединениях и т. Д. С несколькими причинами.Всего около 20-30 таких операторов.

  2. Все эти извлекаемые запросы могут потребоваться для выполнения несколько раз в день с различной частотой каждый день.Это зависит от того, сколько раз мы получаем данные из исходной системы или в других случаях.

  3. Мы планируем использовать Kafka для публикации сообщения, чтобы рабочий процесс Nifi знал каждый раз, когда обновляется таблица RDBMS ипоток должен быть запущен (я не могу просто запустить поток Nifi, основываясь на «инкрементном» значении столбца, могут быть только все сценарии обновления строк, и мы не можем создавать новые строки в таблицах).

Как мне заняться дизайном моего Nifi.Есть ExecuteSQL / GenerateTableFetch / ExecuteSQLRecord / QueryDatabaseTable все виды доступных компонентов.Какой из них лучше всего соответствует моим требованиям?

Спасибо!

1 Ответ

0 голосов
/ 07 февраля 2019

Я предлагаю вам использовать ExecuteSQL.Вы можете установить запрос из атрибута или составить его, используя атрибут.Самый простой способ - создать JSON, а затем проанализировать этот JSON и создать атрибуты.Посмотрите на этот пример. Вот sql, созданный из файла, который вы можете настроить, чтобы создать его из kafka link enter image description here

...