如何将子目录中的文件复制到hdfs中的单个目录

xdyibdwo  于 2021-06-04  发布在  Hadoop
关注(0)|答案(1)|浏览(373)

我在impala中有一个外部表,它被两列分割,因此hdfs目录在进入实际数据文件之前有两级目录。该表在元存储中已损坏,无法查询。我只想将单个(~10k)文件复制到一个目录中,这样就可以删除损坏的表,删除现有目录,然后使用impala中的load data into table查询将数据运行回表中。问题是我找不到一种方法来复制文件,所以它们都在一个目录中结束,因为加载数据不支持子目录加载。
结构看起来像:
我的根
mysub1a公司
我的Sub2a
文件1.txt
文件2.txt
mysub1和mysub2级别有数百个目录
我已经能够获得正确的文件列表:
hadoop fs-lsr/myroot/| grep.parq文件
但我不知道如何将这个列表的输出传递到
hadoop fs-cp{mylist}/mynewdir/

0pizxfdo

0pizxfdo1#

通配符应该起到以下作用:

hdfs dfs -cp /myroot/*/*/*.parq /mynewdir

请注意,如果您不需要原始位置的文件,那么 hdfs dfs -mv 会快得多。

相关问题