Que tal
wget -O - "ftp://${user}:${pass}@${host}/$file" | tar xfz -
Aqui está a situação: Eu tenho um arquivo tar.gz em um servidor FTP que pode conter um número arbitrário de arquivos.
Agora, o que estou tentando realizar é que esse arquivo seja transmitido e enviado para o HDFS por meio de um trabalho do Hadoop. O fato de que é o Hadoop não é importante, no final, o que eu preciso fazer é escrever algum script de shell que usaria esse formato de arquivo ftp com wget
e gravar a saída em um fluxo.
A razão pela qual eu realmente preciso usar streams é que haverá um grande número desses arquivos, e cada arquivo será enorme.
É bastante fácil se eu tiver um arquivo compactado e eu estiver fazendo algo assim:
wget -O - "ftp://${user}:${pass}@${host}/$file" | zcat
Mas eu não tenho certeza se isso é possível para um arquivo tar.gz , especialmente porque existem arquivos mutliple no arquivo. Estou um pouco confuso sobre qual direção tomar para isso, qualquer ajuda seria muito apreciada.
Tags wget ftp shell-scripting