首页 > 解决方案 > 有没有办法在不使用管道的情况下检查 Apache Beam sdk 中是否存在文件

问题描述

我目前正在尝试使用 MatchResult 状态检查文件是否存在于集群中。即使文件存在,它也会返回 NOT_FOUND 的状态。

MatchResult matchResult = FileSystems.match(output string)

if(matchResult.status() == MatchResult.Status.NOT_FOUND){
//do some operation 
//print file does not exist
}
else{
//print file exists
}

即使文件存在,上述代码也会返回未找到状态。

标签: javafileapache-beam

解决方案


您的集群上有什么样的文件系统?AFAIK,Beam 文件系统仅支持 S3、GCS、HDFS 和本地 FS。此外,如果它与集群上的真实路径匹配,则值得打印出“matchResult”并查看完整路径。


推荐阅读