kettle 通过vfs上传FTP问题

本文介绍如何在Kettle中配置VFS以实现通过FTP上传文件,并解释了如何更改模式以适应不同网络环境的需求。

 

KETTLE在转换中输出地址使用VFS上传LINUX的FTP,VFS与FTP交互默认的是主动模式,由于网络环境的原因,有时需要改为被动模式,但在KETTLE中如何配置呢?
如下:
在参数中增加:vfs.ftp.PassiveMode=true


kettle6.0版本己经使用vfs2.0解决了这个问题,以下版本需要设置


文本输出步骤需要修改源码,其它步骤如excel到ftp,json到ftp不用修改


如下:


private void createParentFolder(String filename) throws Exception
{
// Check for parent folder
FileObject parentfolder=null;
try
{
// Get parent folder
//下面这行这么修改
parentfolder=KettleVFS.getFileObject(filename,getTransMeta()).getParent();

 

### 使用Pentaho Kettle实现FTP文件上传 #### 配置环境 为了确保Kettle能够顺利执行FTP操作,需先验证环境中已正确安装并配置必要的组件。对于涉及大数据处理的任务,在Hadoop和Hive虚拟机中应提前完成相应软件的部署与启动工作[^3]。 #### 创建传输作业 在Pentaho Data Integration (PDI),即Kettle中构建用于自动化文件传输至远程服务器的新作业: 1. **初始化项目** 打开Spoon GUI工具,新建空白转换或直接进入现有工程内准备添加新任务节点。 2. **设置源路径** 利用“Get File Names”步骤指定待发送的目标文件位置及其模式匹配规则;如果目标是从数据库导出数据形成Excel文档,则可采用SQL查询结合Microsoft Excel Output来生成所需报表[^2]。 3. **定义FTP连接参数** 插入“Put a file or files on FTP server”动作项,输入主机地址、端口号、用户名密码等认证信息以及远端存储的具体目录结构。注意当遇到含有特殊字符(比如中文)的情况时可能需要额外编码支持以防止乱码现象发生。 4. **编写批处理脚本辅助调度** 对于周期性的批量迁移需求而言,可以考虑借助操作系统层面的命令行指令配合计划任务功能达成目的。例如撰写`.bat`文件调用内置FTP客户端程序按照预设模板(`ftp.txt`)指示行事,从而简化流程控制逻辑。 5. **保存并测试运行** 完成上述设定之后记得及时存档以便后续维护查阅,并尝试手动触发一次完整的流转过程检验各环节衔接状况是否正常无误。 ```batch @echo off ftp -s:D:\ftp\ftp.txt ``` 此段BAT代码片段展示了怎样通过简单的shell命令驱动本地计算机上的FTP进程按既定策略行动,其中`s:`选项指定了外部文本文件作为交互指南提供给FTP会话使用。 #### 调整全局属性 考虑到不同场景下的个性化定制要求,有时还需要调整一些系统级变量影响整体行为表现。这类修改通常位于用户主目录内的隐藏子文件夹里或是应用程序本身的安装包内部[^4]。
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

onemy

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值