这是情况:我有一个FTP服务器上可以包含任意数量的文件tar.gz文件。
现在我想要完成的是将这个文件通过Hadoop作业stream式传输并上传到HDFS。 Hadoop这个事实并不重要,最后我需要做的是编写一些shell脚本,将这个文件转换成wgetforms,并将输出写入stream中。
我真的需要使用stream的原因是会有大量的这些文件,每个文件将是巨大的。
如果我有一个gzip文件,这样做很容易,我正在做这样的事情:
wget -O - "ftp://${user}:${pass}@${host}/$file" | zcat
但是我甚至不确定这是否可能用于tar.gz文件,特别是因为存档中有多个文件。 我有点困惑,为此采取什么方向,任何帮助将不胜感激。
怎么样
wget -O - "ftp://${user}:${pass}@${host}/$file" | tar xfz -