如何使用 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) 中合并两个文件