Преобразование Pentaho DI с шагом исполнителя преобразования завершается с ошибкой во время удаленного выполнения

#pentaho #kettle

#pentaho #чайник

Вопрос:

Я пытаюсь удаленно выполнить свое преобразование.Преобразование имеет шаг исполнителя преобразования со ссылкой на другое преобразование из того же репозитория. При удаленном выполнении с экспортом ресурсов выполнение завершается с ошибкой со следующим сообщением

Невозможно загрузить преобразование из-за ошибки

Ошибка не указана . Шаг исполнителя не удается инициализировать при удаленном выполнении.

Это ошибка?

Комментарии:

1. Работает ли это локально?

Ответ №1:

Возможно, проблема связана с неправильным путем к преобразованию. Проверьте, правильно ли вы указали путь к вашему преобразованию на шаге.

В идеале используйте системную переменную для настройки вашего пути. Проверьте изображение ниже:

введите описание изображения здесь

Переменная ${internal.Transformation.Filename.Directory}/<your ktr file> автоматически определяет путь вашего основного преобразования. Используйте это вместо указания точного пути.

Для получения дополнительной информации прочитайте this wiki .

Надеюсь, это поможет 🙂

Ответ №2:

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

Что я обнаружил при отладке, так это то, что шаг TransExecutor проверяет репозиторий по имени и репозиторий по ссылке, но в обоих случаях значение repository object равно null .

Внутренний репозиторий по ссылке вызывает NPE, а репозиторий по имени вызывает исключение FileNotFoundException, поскольку он ищет файл ktr в файловой системе вместо репозитория. Думаю, я должен узнать больше о том, является ли это ошибкой

Комментарии:

1. Для дальнейшего использования подобные ответы следует добавить в качестве правки к вашему вопросу и / или в качестве комментария к существующему ответу (Ришу).

Ответ №3:

Я только что столкнулся с той же проблемой. Я исправил это, используя абсолютный путь с заполнителем, указывающим на родительский каталог репозитория заданий

Итак, имя файла поля Transformation Executor выглядит следующим образом:

 [${Internal.Job.Filename.Directory}/my-transformation.ktr][1]