Как использовать Pentaho Kettle, когда у нас есть 2 разных аргумента

Я новичок в чайнике, и я немного застрял в этом. Я хочу прочитать файл JSON и файлы CSV, а затем изменить значения в файле CSV в соответствии с некоторыми в JSON перед его сохранением. Например, если у меня есть в строке CSV значение, говорящее "тест", а в JSON что-то вроде {"ключ": "тест", "значение": "val"}, я хочу заменить "тест" в CSV с «val» перед сохранением в БД.

Однако я не уверен, как я могу это сделать, я думаю, что я должен использовать шаг «Определяемый пользователем класс Java», но я понятия не имею, как получить доступ к каждому аргументу отдельно внутри него, поскольку я могу только кажется, что могу читать строки CSV одну за другой.


person user3323032    schedule 10.03.2014    source источник


Ответы (1)


Я бы сказал, что изменение существующего CSV-файла не будет лучшей практикой в ​​вашем случае.

Скорее, я бы предложил вам рассмотреть возможность использования Kettle для фактического преобразования данных и создания CSV-файла, который соответствует вашим требованиям и является желаемым результатом.

В самом общем виде, пожалуйста, посмотрите на следующий процесс (см. скриншот ниже):

  1. Получить данные из ввода JSON, получить данные из ввода CSV-файла;
  2. Сделайте немного магии/очистки/постановки столбцов данных;
  3. Соедините два потока по определенным значениям;
  4. Запишите новый файл CSV или перезапишите существующий;

Общий пример

Надеюсь, это немного поможет.

person Yuval Herziger    schedule 18.02.2015