Управление чтением Nifi из 3 таблиц для объединения содержимого из всех таблиц

Я пытаюсь прочитать новые записи в 3 таблицах HBase (используя процессор GetHBase) и объединить их в один JSON. Но каждый процессор GetHBase запускается, как только происходит новая вставка в его соответствующие таблицы. В конце концов, после объединения контента (с использованием процессора MergeContent) я получаю 3 JSON для данных 3 таблиц отдельно. Есть ли способ контролировать чтение HBase и объединять их только после того, как все 3 таблицы получат новые данные?


person Abhilash Owk    schedule 02.03.2017    source источник


Ответы (1)


Если вы запланируете три процессора GetHBase на одной и той же частоте, скажем, каждые 5 минут, и запустите их одновременно, тогда все они должны создавать потоковый файл в одно и то же время. Единственный странный случай может заключаться в том, что извлечение данных из HBase занимает намного больше времени, поэтому вы можете убедиться, что период планирования больше, чем самый долгий ожидаемый извлечение из HBase.

Как только все они будут запланированы с одинаковой периодичностью, вы можете установить для MergeContent минимальный размер группы три, он должен дождаться просмотра всех трех потоковых файлов.

Мне непонятно, спрашиваете ли вы о соединении записей из трех таблиц или просто об их объединении. Вышеупомянутый подход заключается в их объединении, и вы получите один файл потока, содержимое которого содержит содержимое трех файлов входящего потока один за другим.

person Bryan Bende    schedule 03.03.2017