如何使用 Kettle Pentaho 删除远程文件

Posted

技术标签:

【中文标题】如何使用 Kettle Pentaho 删除远程文件【英文标题】:How to delete remote file using Kettle Pentaho 【发布时间】:2018-01-11 17:07:30 【问题描述】:

我在远程 Linux 机器上有一个目录,文件被归档并保存了一段时间。我想根据某些条件使用水壶转换从远程(Linux)机器中删除文件。 如果文件不存在,则作业不应抛出任何错误,但如果文件存在于远程位置,则作业应删除文件或引发错误以防其他原因,即权限问题。 在这里,文件名将作为先前转换步骤中的变量检索,并且归档文件的目录路径将被固定。

如何在 Pentaho Kettle 转换中实现这一点?

【问题讨论】:

【参考方案1】:

利用“运行 SSH 命令”实用程序将命令传递到您的远程服务器。

假设您执行rm -f /path/file,对于不存在的文件不会出错。

您还可以捕获输出并执行错误处理(过滤行并触发操作过程)。

【讨论】:

【参考方案2】:

或者您可以将远程目录挂载到kettle所在的机器上,并尝试常规删除文件。

我认为使用 ssh 并非易事。找出错误类型,找到区分错误的方法,需要大量的实验。可能是 ssh 连接出错或删除文件出错。

【讨论】:

以上是关于如何使用 Kettle Pentaho 删除远程文件的主要内容,如果未能解决你的问题,请参考以下文章

Kettle(Pentaho)实现web方式远程执行job或transformation

如何在 Pentaho Data Integration (Kettle) 中合并两个文件

如何卸载kettle?

Pentaho - 如何根据 Kettle 属性文件设置工作转换

kettle数据同步如何更新

如何在 Pentaho Data Integration (Kettle) 中向文件添加行号?