解压缩文件,然后上传到HDFS

时间:2018-11-16 03:42:11

标签: hadoop hdfs

我有要上传到HDFS的数据

数据文件夹是多层的,但最里面的目录仅包含多个.gz文件。

文件夹压缩后约为250 GB,我不知道其中有多少个gz文件。

我想将其上传到HDFS,但应将其解压缩。

有没有一种方法可以通过单个hadoop fs -put命令来实现? 还是编写脚本文件一个一个地解压缩并上传到hdfs的唯一方法?

1 个答案:

答案 0 :(得分:0)

我认为您只能通过解压缩每个文件来使用脚本文件来执行此操作。但是您可以使用管道来简化脚本,如下所示:

for file in $( ls ); do
    echo Uncompressing and putting $file
    gunzip -c $file | hdfs dfs -put - "/hdfs-dir/$file.txt"
done