HDFS Hadoop解压缩目录中的文件,并将每个文件单独移动到另一个文件夹

ujv3wf0j  于 2022-12-09  发布在  HDFS
关注(0)|答案(1)|浏览(251)

我尝试解压缩HDFS中的数百个文件,并将每个文件单独移动到另一个文件夹中,以便可以将其加载到Hive中的外部表中。我尝试了以下命令,但它只提供了1个在目标目录中没有名称的连接文件。

!hdfs dfs -cat /user/[somedir1]/* | hadoop fs -put - /user/[somedir2]/uncompressed/

我需要(例如)100个压缩文件被解压缩,并将这些解压缩的文件分别移动到目标目录进行调试。我不能使用其他编程语言,因为它会使项目比它需要的更复杂。我认为这可以使用hdfs命令行,我只是不知道正确的单行语法。

ldxq2e6h

ldxq2e6h1#

找到了如何在Shell中完全解压缩每个单独文件的一行解决方案。

for FILE in somedir1/*; do if [[ $FILE == *\.gzip ]] ; then newname='somedir2/'$(basename -s .gzip $FILE); zcat "${FILE}" > $newname; fi; done

相关问题