我有一个像这样的 blob 存储路径列表 wasbs://requestlogs@logs.blob.core.windows.net/logs/1/2021/04/12/*.avro.
当我尝试阅读时,它会为所有路径抛出 FileNotFoundException
异常。
def checkPathExists(path:String): Boolean =
{
try
{
dbutils.fs.ls(path.replace("*.avro",""))
return true
}
catch
{
case ioe:java.io.FileNotFoundException => return false
}
}
val pathsRdd = sc.parallelize(paths)
val fileteredPaths2 = pathsRdd.filter(p => checkPathExists(p)).collect.toList
println(fileteredPaths2.length)
但是当我运行下面的命令时它正在工作
dbutils.fs.ls("wasbs://requestlogs@logs.blob.core.windows.net/logs/1/2021/04/12/")
我不知道为什么这在过滤器中不起作用