NIFI: объединить две таблицы из разных баз данных - PullRequest
0 голосов
/ 01 февраля 2019

У меня есть две транзакционные таблицы из разных баз данных на разных серверах.Я хотел бы присоединиться к ним на основе общего атрибута и сохранить результат в другой базе данных.

Я искал различные варианты в NIFI, чтобы выполнить это как задание, которое выполняется ежемесячно.

До сих пор я пробовал разные варианты, но, похоже, ничего не вышло.Например, я использовал ExecuteSQL1 & ExecuteSQL2 -> MergeContent-> PutSQL

Может ли кто-нибудь предоставить указатели на то же самое?

Ответы [ 2 ]

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

Как сказал Брайан, NiFi (в настоящее время) этого не делает.Возможно, посмотрите на Presto , вы можете установить несколько соединений «под капотом» и использовать его драйвер JDBC, чтобы сделать то, что описал Брайан, объединение таблиц в разных БД.

I'mподумывает о добавлении процессора JoinTables, который позволит вам объединить две таблицы, используя две разные службы контроллера DBCPConnectionPool, но есть много вещей, на которые следует обратить внимание, таких как, например, возможность выполнять объединение в памяти.Чтобы объединить измерения с таблицами фактов, мы могли бы попытаться загрузить меньшую таблицу в память, а затем, например, сделать большее потоковое соединение для больших таблиц фактов.Не стесняйтесь подать новую функцию Jira, если хотите, и мы можем обсудить там.

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

NiFi на самом деле не предназначен для такого потокового соединения.Наилучшим вариантом было бы реализовать объединение в запросе SQL с использованием одного процессора ExecuteSQL.

...