Java 强制HDFS globStatus跳过它不支持的目录';我没有权限
所以我需要从HDFS中收集大量目录,它们本身包含子目录,我希望能够使用globStatus。我的路径模式基本上如下所示:Java 强制HDFS globStatus跳过它不支持的目录';我没有权限,java,hadoop,hdfs,Java,Hadoop,Hdfs,所以我需要从HDFS中收集大量目录,它们本身包含子目录,我希望能够使用globStatus。我的路径模式基本上如下所示: "/directory/*/{opt1,opt2}/{opt1,opt2,opt3}*" 不幸的是,对于*捕获的某些目录,我没有执行权限(无法查看内容),但glob尝试查看内部,导致异常。有没有办法请求glob跳过它没有权限的目录,而不是完全失败 我知道还有其他方法可以实现同样的目标,但据我所知,这将比简单的glob更复杂,而且我认为需要更多对HDFS的请求 如果其他人遇到
"/directory/*/{opt1,opt2}/{opt1,opt2,opt3}*"
不幸的是,对于*捕获的某些目录,我没有执行权限(无法查看内容),但glob尝试查看内部,导致异常。有没有办法请求glob跳过它没有权限的目录,而不是完全失败
我知道还有其他方法可以实现同样的目标,但据我所知,这将比简单的glob更复杂,而且我认为需要更多对HDFS的请求 如果其他人遇到这个问题,请回答这个问题
globStatus
的过滤行为是作为文件系统
/Globber
类的一部分在客户端完成的。实际上,它只是提交一系列listStatus
命令并过滤返回值。要获得所描述的行为,需要一些自定义逻辑,但其效率不会低于globStatus
API