Pentaho - переместить файлы по FTP не работает

У меня есть задание переместить CSV-файл в "обработанную" папку на FTP-сервере с указанием даты и времени, прикрепленных к имени файла.

Сейчас у меня следующая работа:  введите описание изображения здесь

В параметре «Переместить файлы» мои исходный и конечный адреса имеют следующий формат:

ftp: // имя пользователя: пароль @ ftp_source_address

ftp: // имя пользователя: пароль @ ftp_destination_address

Процесс продолжается до шага «Получить файл с FTPS» и просто останавливается после этого. Это сработает, если я укажу локальный адрес на моем компьютере в качестве адреса назначения.

Я также пробовал действие «Копировать или переместить имена файлов результатов», и оно работает точно так же. Что мне здесь не хватает?

Я новичок в pentaho и буду благодарен за любую помощь. Спасибо.


person Anand Srinivasan    schedule 25.06.2018    source источник


Ответы (3)


Запись о задании Get a File with FTPS работает путем извлечения файла с удаленного сервера на локальный сервер, на котором работает Pentaho. Он не перемещает файл с удаленного сервера в другое место на удаленном сервере. Запись Move Files задания, скорее всего, не работает (или просто ничего не делает), потому что файл находится не там, где вы ожидаете, из-за того, что запись Get a File with FTPS задания не работает так, как вы ожидали.

Основываясь на дизайне, который вы показали на прилагаемом изображении, я думаю, вы могли бы полностью удалить Get a File with FTPS и просто использовать запись Move Files о вакансии.

person eicherjc    schedule 25.06.2018
comment
Что ж, мое требование - вытащить файл на локальный сервер, на котором работает pentaho, а затем переместить этот файл в другую папку на FTP. Думаю, мне понадобится Get a File with FTPS - person Anand Srinivasan; 26.06.2018

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

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

В области Переместить в папку переменных вы вставляете желаемый путь FTPS, например, \ source \ backup \ $ {variables}. Это поле принимает переменные, поэтому вы можете даже динамически создавать резервные папки, если вы также отметите опцию «Создать папку».

person Cristian Curti    schedule 26.06.2018
comment
Мне нужно добавить отметку времени к имени файла. Так что для меня это не сработает. - person Anand Srinivasan; 27.06.2018

У меня было похожее требование, и я решил его, позвольте мне сначала его сформулировать:

Мне нужно создать CSV-файл на локальном сервере (сервере ETL) и отправить его обратно на удаленный сервер. Но перед этим мне нужно заархивировать уже существующий файл в отдельную (заархивированную) папку на удаленном сервере.

Я использовал все возможные способы решения проблемы, но сделал это в соответствии с определением ниже:

Шаг 1. Получите старый файл с удаленного компьютера на локальный, используя команду "Получить файл по FTP". В том же определении шага я удаляю старый файл после его передачи.

Шаг 2. Использовал команду «Поместить файл через FTP», чтобы сделать обратное в папке с именем «Архивные» на удаленном сервере, и таким же образом удалил файл с локального сервера.

Шаг 3. Создано преобразование, чтобы сделать остальную работу по созданию файла CSV и его размещению на локальном сервере.

Таким образом, предыдущий старый файл перемещается и сохраняется в папке «Архивные», а новый файл создается в результате преобразования. Он также имеет процесс вставки метки времени, поэтому он может удовлетворить потребность. Надеюсь это поможет !!!

Ниже представлена ​​работа и ее внешний вид: Pentaho JOB

person Sandeep Sen    schedule 03.08.2018