talend - вывод tMap в другой запрос

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

Вывод этого запроса преобразуется и помещается в файл. В этом файле есть уникальный ссылочный номер (ссылка на поле в запросе).

"Ссылки", которые мне нужны в качестве входных данных в качестве предложения where в моем втором запросе.

Я думаю об этом потоке

                                  tOutputFile     
                                   /   
tOracleInput ->  tMap -> tReplicate
                                   \
                                  tMap (will only map the reference field)
                                     \
                                     tSetGlobalVar 
                                        (set to a list, and add to globalMap)

И по завершении этой подзадачи будет выполняться следующая подделка;

tOracleInput (build the where clause from the list from globalMap) -> tMap  -> tOutputFile

Этот дизайн выглядит хорошо? Или мне лучше использовать подзапрос по номеру ссылки в моем втором tOr acleInput?

SELECT ... FROM table1 WHERE references  IN (SELECT references from BIGVIEW WHERE ...)

1 ответ

В зависимости от того, сколько различных значений получено для ссылочного поля, запрос должен превышать максимальную длину, разрешенную Oracle.
Вам следует рассмотреть возможность объединения этих значений со вторым tOracleInput с использованием средств, предлагаемых моделью поиска "Перезагрузить в каждой строке".
Узнайте, как это работает здесь.

Надеюсь это поможет.

Другие вопросы по тегам