如何通过Pentaho(Kettle)作业从ChEBI FTP服务器下载文件
连接失败核心原因
ChEBI所属的EBI公共文件服务并非仅支持传统FTP协议,你当前持有的访问地址是HTTPS协议的静态文件路径,且使用了仅支持FTP协议的「Get a file with FTP」步骤填写HTTPS地址连接,必然报错。该服务为公开匿名服务,不需要申请专属用户名密码。
可落地的配置方案
方案1:使用HTTP下载步骤(最匹配你持有的链接,成功率最高)
- 移除作业里原有的「Get a file with FTP」步骤,替换为Pentaho作业中的
HTTP File Download(HTTP文件下载)步骤 - 核心参数配置:
- 远程文件URL:填写你要下载的具体文件的完整HTTPS地址,不要仅填写目录路径,例如下载化合物分类文件就补全到具体文件名
- 本地存储路径:填写你本地用于存放下载文件的目录
- 认证相关字段(用户名、密码)全部留空,该公共资源不需要身份校验
- 勾选「跟随重定向」选项,连接超时设置为300秒以上(ChEBI全量文件体积较大,避免超时中断)
方案2:使用原有FTP步骤连接(走FTP协议)
如果必须使用「Get a file with FTP」步骤,按照以下参数配置:
- 服务器地址:填写
ftp.ebi.ac.uk,端口保持默认21,不要填HTTPS开头的完整URL - 认证配置(匿名FTP通用规则):
- 用户名:
anonymous - 密码:填写任意符合邮箱格式的字符串即可(匿名FTP的惯例校验要求,不需要是真实邮箱)
- 用户名:
- 远程路径:填写
/pub/databases/chebi/Flat_file_tab_delimited/后拼接你要下载的具体文件名 - 连接选项:必须勾选「被动模式(Passive Mode)」,公网FTP服务默认要求被动模式连接,不勾选大概率会被防火墙拦截
方案3:使用SFTP步骤连接
如果本地网络限制FTP端口访问,可以用SFTP步骤:
- 服务器地址:
ftp.ebi.ac.uk,端口填22 - 用户名填
anonymous,密码填任意邮箱格式字符串 - 远程文件路径和FTP方案的路径配置一致即可
常见报错排查
- 连接超时:先确认本地网络没有防火墙拦截21/22/443端口,FTP连接必须开启被动模式
- 文件不存在报错:所有下载步骤都不支持直接读取目录下的文件列表,必须把远程路径补全到具体文件名,可先通过浏览器打开目录页确认准确文件名后再配置
- 认证失败:匿名FTP/SFTP连接不能留空用户名,必须填
anonymous,密码不能完全留空,填任意符合格式的字符串即可
内容的提问来源于stack exchange,提问作者lacinquette
相关产品推荐
相关产品推荐

