2015-07-18 2 views
1

Мне нужно записать данные таблицы базы данных в текстовый файл с некоторым преобразованием. Для извлечения данных из таблицы доступны два шага: вкладка «Таблица» и объединение базы данных. Я не вижу большой разницы между ними, кроме «внешнего соединения»? (исправьте меня, если я ошибочно понял). Так что лучше использовать?Pentaho ETL: объединение базы данных и ввод таблицы

Окружающая среда:

База данных: оракул

Pentaho Ложка:. 5,3 * (Community Edition)

Спасибо заранее.

ответ

3

Ввод таблицы шаг в PDI используется для чтения данных из таблиц базы данных. Запрос будет выполнен один раз и вернет вам набор результатов. Проверьте wiki.

База данных Присоединиться Работы немного отличаются. Это позволит вам выполнить ваш запрос на основе данных, полученных с предыдущего шага. Для каждой строки, входящей с предыдущего шага, запрос на этом этапе будет заменен и выполнен. Проверьте wiki.

Выбор вышеуказанных шагов зависит от ваших требований.

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

В случае, если вы хотите запустить запрос в базе данных для каждой строки, чтобы получить результат, используйте Database Join - лучший выбор.

Надеюсь, что это поможет :)

+1

Спасибо. Оба этапа могут выполняться на основе предыдущего шага. Но шаг добавления базы данных может выполняться только в том случае, если он имеет предыдущий шаг. Я могу понять это сейчас. – Jeet

+0

Сохраняя все то же самое с точно такими же SQL-массивами без переданного динамического параметра, «Database Join» выполняется намного быстрее, чем шаг «Вход в таблицу». Почему? –

+0

Поскольку «Соединение базы данных» использует подготовленный оператор вместо sting concat в шаге «Таблица». Разница в производительности значительна. – simar

Смежные вопросы