как заставить talend (TMAP) загружать данные поиска и входящие данные одновременно - PullRequest
0 голосов
/ 11 января 2020

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

enter image description here

enter image description here Есть ли способ выполнить поиск во время извлечения из основного источника? Попытка ускорить начальную нагрузку, чтобы все шло быстро, и попытаться сэкономить на памяти. как вы можете видеть, поиск уже прошел 3 миллиона строк.

tLogRow представляет ту же таблицу, что и поиск.

1 Ответ

1 голос
/ 12 января 2020

Вы можете достичь того, что ищете, настроив поиск в вашем tMap для использования модели поиска «Перезагрузить в каждом ряду» вместо «Загрузить один раз». Эта модель поиска позволяет вам повторно выполнить запрос поиска для каждой входящей строки, вместо загрузки сразу всей таблицы поиска, что полезно для поиска в больших таблицах.
Когда вы выбираете перезагрузку для каждой модели строки, вам нужно будет указать ключ поиска в разделах глобальной карты, который появится под настройками. Создайте ключ с именем, например «ORDER_ID», и сопоставьте его со столбцом FromExt.ORDER_ID. Затем измените свой поисковый запрос так, чтобы он возвращал одно совпадение для ORDER_ID, например:
"SELECT col1, col1.. FROM lookup_table WHERE id = '" + (String)globalMap.get("ORDER_ID") + "'".
Предполагается, что ваш столбец id представляет собой строку.
Для этого создается глобальная переменная с именем «ORDER_ID», содержащий идентификатор заказа для каждой входящей строки из вашего основного соединения, затем выполняет фильтрацию запросов поиска для этого идентификатора.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...