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 с использованием средств, предлагаемых моделью поиска "Перезагрузить в каждой строке".
Узнайте, как это работает здесь.
Надеюсь это поможет.