Cat文件与HDFS中的模式不匹配?

kuhbmx9i  于 2023-09-28  发布在  HDFS
关注(0)|答案(1)|浏览(248)

我正在尝试在hadoop HDFS中对不符合以下模式的文件进行cat

hdfs dfs -cat /*.gz

如何对所有不以.gz结尾的文件进行cat?
编辑:抱歉,我需要在Hadoop中对文件进行cat,显然hdfs的命令很少。
编辑2:所有文件都在root中。

2skhul33

2skhul331#

hdfs似乎不支持扩展的globbing语法,因此您需要手动提取要连接的文件的名称。
您可以从listing all of the files in the root directory开始

$ hdfs dfs -stat '%n" '/*'

然后,过滤出以.gz结尾的文件:

$ hdfs dfs -stat '%n" '/*' | grep -v '.gz$'

最后,将过滤后的文件名传递给hdfs dfs -cat

$ hdfs dfs -stat '%n" '/*' | grep -v '.gz$' | xargs hdfs dfs -cat

请注意,如果传递给hdfs dfs -cat的文件路径的总长度超过limits supported by your environment,则可能会中断。

相关问题