Вот такая ситуация: у меня есть tar.gz файл на FTP-сервере, который может содержать произвольное количество файлов.
Теперь я пытаюсь передать этот файл в потоковом режиме и загрузить в HDFS с помощью задания Hadoop. Тот факт, что это Hadoop, не важен, в конце концов, что мне нужно сделать, это написать какой-нибудь сценарий оболочки, который будет принимать эту форму файла ftp с wget
и записать вывод в поток.
Причина, по которой мне действительно нужно использовать потоки, заключается в том, что этих файлов будет много, и каждый файл будет огромным.
Это довольно просто сделать, если у меня есть сжатый файл и я делаю что-то вроде этого:
wget -O - "ftp://${user}:${pass}@${host}/$file" | zcat
Но я даже не уверен, возможно ли это для tar.gz файл, тем более, что файлов в архиве несколько. Я немного не понимаю, в каком направлении двигаться, любая помощь будет принята с благодарностью.
Как насчет
wget -O - "ftp://${user}:${pass}@${host}/$file" | tar xfz -