Pentaho-在FTP上移动文件不起作用

时间:2018-06-25 13:48:05

标签: pentaho etl pentaho-data-integration pdi

我有一项工作,必须将CSV文件移动到FTP服务器上的“已处理”文件夹,并在文件名上附加日期和时间戳。

我现在有以下工作:enter image description here

在“移动文件”选项中,我的源地址和目标地址的格式为:

  

ftp://username:password@ftp_source_address

     

ftp://username:password@ftp_destination_address

该过程将一直持续到“使用FTPS获取文件”步骤,此后才停止。如果我在计算机上提供本地地址作为目标地址,则可以使用。

我还尝试了“复制或移动结果文件名”操作,其行为方式完全相同。我在这里想念什么?

我是pentaho的新手,非常感谢您的帮助。谢谢。

3 个答案:

答案 0 :(得分:2)

Get a File with FTPS作业条目的工作方式是将文件从远程服务器拉到运行Pentaho的本地服务器。它不会将远程服务器上的文件移动到远程服务器上的其他位置。 Move Files作业条目可能失败(或什么也不做),因为文件不在您期望的位置,这是由于Get a File with FTPS作业条目无法按您期望的方式运行来。

根据您在所附图像中显示的设计,我认为您可以完全删除Get a File with FTPS并仅使用Move Files作业条目。

答案 1 :(得分:0)

“通过FTPS获取文件”步骤具有内置的“移动后检索”功能,该功能适用​​于通过它下载的所有文件。

enter image description here

在“移至文件夹变量”区域中,插入所需的FTPS路径,例如\ source \ backup \ $ {variables}。 该字段接受变量,因此,如果您同时选中创建文件夹选项,甚至可以动态创建备份文件夹。

答案 2 :(得分:0)

我有一个类似的要求并解决了它,让我先说明一下:

我需要在本地服务器(ETL服务器)中创建一个csv文件,然后发送回远程服务器位置。但是在执行此操作之前,我需要将现有文件存档到远程服务器中的单独(存档)文件夹中。

我使用了所有可能的方法来解决问题,但要按照下面定义的工作来完成:

第1步:使用“通过FTP获取文件”将旧文件从远程获取到本地。在相同的步骤定义中,一旦旧文件被删除,我将其删除。

第2步:使用“使用FTP放置文件”在远程服务器中名为“ Archived”的文件夹中执行相反操作,并以相同的方式从本地服务器中删除文件

第3步:创建了一个转换,以完成创建csv文件并将其放置到本地服务器的其余工作。

因此,先前的旧文件被移动并存储在“ Archived”文件夹中,而新文件则通过转换生成。它还具有时间戳插入过程,因此可以满足需要。希望这可以帮助!!!

以下是工作及其外观: Pentaho JOB