我有一个包含数万个.gz文件的数TB的数据集,其中一些是损坏的,我需要从HDFS中删除。
有没有办法将HDFS文件列表传递给MagicNumberFileFilter,以便打印出所有非gz文件的列表?
我能够在没有问题的情况下在我的本地文件系统上工作,但我认为我需要一个可以与HDFS对话并且还实现Serializable或FileFilter接口的类,我似乎无法了解如何去做这个。
我发现从顶级HDFS目录生成文件列表的最接近的事情是来自FilterFilesystem,但我不知道如何与文件过滤器类进行对话。
gz魔法代码在这里:
MagicNumberFileFilter gzipFileFilter = new MagicNumberFileFilter(new byte[] {(byte) 0x1F, (byte) 0x8B});