【问题标题】:Hadoop unzip files in directory and move each of them individually to another folderHadoop 解压缩目录中的文件并将每个文件单独移动到另一个文件夹
【发布时间】:2022-01-08 20:06:02
【问题描述】:

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

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

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

【问题讨论】:

标签: hadoop command-line hive hdfs


【解决方案1】:

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

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2021-10-16
    • 1970-01-01
    • 2011-07-07
    • 1970-01-01
    • 2020-05-02
    • 1970-01-01
    • 2016-04-20
    相关资源
    最近更新 更多