Как искать регистр в Пентахо с миллионами регистров - PullRequest
0 голосов
/ 11 марта 2020

Как лучше всего найти запись среди миллионов записей с помощью Pentaho Spoon? Я использую «потоковый поиск» с «вводом таблицы», но мой запрос на шаге «tbResponse» возвращает много данных, что вызывает большую медлительность. Кто-нибудь когда-либо испытывал это? enter image description here

Ответы [ 2 ]

0 голосов
/ 25 марта 2020

Если вы не обрабатываете много записей в своем основном потоке данных, вы должны использовать вместо этого Database Lookup. Таким образом, он вернет только одну нужную вам запись из базы данных, используя указанное поле c в качестве ключа, чтобы найти правильную запись. Тем не менее, он имеет недостаток в выполнении одного запроса для каждой записи, которую вы хотите получить, так что это может быть не очень хорошей идеей, если у вас также есть миллионы записей в основном потоке. В любом случае, это может быть частично решено путем кэширования некоторых результатов в памяти (флажок «Включить кэш?» И задание количества записей для хранения в кеше).

0 голосов
/ 13 марта 2020

Если вы планируете использовать большинство записей из таблицы поиска, потоковый поиск - не лучший вариант. Вместо этого используйте операцию объединения (слияния) с обоими входными потоками, отсортированными по ключам соединения.

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

...