情况是这样的:我有一个压缩文件FTP 服务器上的文件可以包含任意数量的文件。
现在,我试图完成的是将此文件通过 Hadoop 作业流式传输并上传到 HDFS。它是否是 Hadoop 并不重要,最终我需要做的是编写一些 shell 脚本,从 ftp 获取此文件并将输出写入wget
流。
我真正需要使用流的原因是这些文件的数量会很多,而且每个文件都很巨大。
如果我有一个 gzip 压缩文件并且正在执行以下操作,那么这很容易做到:
wget -O - "ftp://${user}:${pass}@${host}/$file" | zcat
但我甚至不确定这是否可能压缩文件文件,特别是因为存档中有多个文件。我有点困惑该怎么做,任何帮助都将不胜感激。
答案1
怎么样
wget -O - "ftp://${user}:${pass}@${host}/$file" | tar xfz -