Как объединить потоки двух (или более) преобразований в Kettle?
У нас есть несколько таблиц, в которых хранятся двоичные двоичные объекты отчетов вместе с их метаданными. Я хотел бы сделать отчет, который суммирует содержание этих таблиц. Я создал преобразование для каждой таблицы, и все они выводят одинаковые переменные. Затем у меня есть преобразование, которое читает значения, а затем форматирует и записывает их в файл XML.
Каждое из преобразований таблицы работает с выходным преобразованием изолированно. Однако, если я укажу всем им на выходное преобразование, то, похоже, работает только один из них, и результаты отражают только одну таблицу (я предполагаю, что каждый из них запускается, но что они перезаписывают друг друга).
Итак, я предполагаю, что мне нужно как-то объединить потоки. Я не хотел бы жестко закодировать это в таблицы преобразований, так как я хотел бы сохранить их многократное использование и отсоединение. Я также не хотел бы жестко запрограммировать это в составитель отчетов, поскольку всякий раз, когда мне нужно составить отчет только по подмножеству таблиц, мне нужно будет с ним связываться.
Я пытался использовать потоки "Join\Merge Rows" или "Flow\Append", но они, по-видимому, недоступны на уровне задания, и вы не можете встроить преобразования в другие преобразования.
Возможно ли это даже в чайнике? Как насчет версии 4.1? Если нет, это в более новой версии?
Диграмма моей работы выглядит следующим образом. Все мои преобразования таблицы в настоящее время используют "Копировать строки в результат", а писатель использует "Получить строки из результата".
Table1
/ \
/ \
Start Output Report
\ /
\ /
Table2
1 ответ
Вы не можете объединять потоки в рабочих местах. Задания на самом деле не предназначены для параллельной обработки, и я даже не уверен, что может произойти, когда вы разделяете поток, как вы делаете (вы можете выполнять некоторые базовые ветвления в заданиях, но это так). Вы должны сделать это в преобразовании, даже если это означает, что вы просто создаете задание-обертку, которое содержит шаг для вызова преобразования и все.