dbutils.fs.ls 在过滤器内返回 FileNotFoundException 异常

时间:2021-04-12 06:46:32

标签: java scala apache-spark azure-storage-blobs azure-databricks

我有一个像这样的 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/")

我不知道为什么这在过滤器中不起作用

0 个答案:

没有答案