将文件解压为上传到 HDFS
Decompressing file as uploading to HDFS
我有数据要上传到 HDFS
data文件夹是多层的,但是最里面的目录只有多个.gz文件。
文件夹压缩后约250GB,不知道里面有多少gz文件
我想把它上传到 HDFS,但它们应该被解压。
有没有一种方法可以通过单个 hadoop fs -put
命令实现此目的?
还是写一个脚本文件一个一个解压上传到hdfs是唯一的办法?
我认为您只能通过解压缩每个文件来使用脚本文件来做到这一点。但是你可以用管道减少脚本,像这样:
for file in $( ls ); do
echo Uncompressing and putting $file
gunzip -c $file | hdfs dfs -put - "/hdfs-dir/$file.txt"
done
我有数据要上传到 HDFS
data文件夹是多层的,但是最里面的目录只有多个.gz文件。
文件夹压缩后约250GB,不知道里面有多少gz文件
我想把它上传到 HDFS,但它们应该被解压。
有没有一种方法可以通过单个 hadoop fs -put
命令实现此目的?
还是写一个脚本文件一个一个解压上传到hdfs是唯一的办法?
我认为您只能通过解压缩每个文件来使用脚本文件来做到这一点。但是你可以用管道减少脚本,像这样:
for file in $( ls ); do
echo Uncompressing and putting $file
gunzip -c $file | hdfs dfs -put - "/hdfs-dir/$file.txt"
done