Как перенести таблицы с согласованными внешними ключами в Pentaho Kettle? - PullRequest
1 голос
/ 25 октября 2011

У меня есть CSV-файл с данными

name, state

.

Я хочу поместить эти данные в таблицы:

Table1{id[PK], name}
State{table1_id[FK], state}.

Основная проблема заключается в том, как сохранить вновь созданный идентификатор Table1 и использовать его при вставке в таблицу состояний. Как это сделать с Pentaho?

1 Ответ

2 голосов
/ 15 марта 2012

Для Таблицы 1 (в вашем примере это измерение) используйте «Поиск / обновление комбинации» на вкладке «Хранилище данных»:

  • Поле измерения = имя
  • Поле в потоке =name
  • Поле технического ключа = id

Подключите «Поиск / обновление комбинации» к «Вставить / обновить».Используйте «Вставить / Обновить» для таблицы состояний (в вашем примере это таблица фактов)

  • ключ (ы) для поиска значений: состояние = состояние, table1_id = id;
  • Обновление полей: состояние = состояние, Table1_id = id, все с флагом Y для обновления

Проверка поиска / обновления комбинации, если данное поле существует в таблице измерений, если да, то у вас естьидентификатор из базы данных, если нет, то будет вставлено новое значение и возвращен новый ключ.

С уважением, Матеуш

...