簡體   English   中英

使用 Scala 檢查鑲木地板文件是否存在

[英]Check if parquet file exists using scala

發布類似的問題,因為現有線程很舊。 我正在使用下面的代碼來檢查該文件是否存在於 target_path 中。 盡管文件存在,但我得到的返回值為“false”。 我缺少某些設置嗎?

val config = sc.hadoopConfiguration
val fileSystem = org.apache.hadoop.fs.FileSystem.get(config)
var existCheck = fileSystem.exists(new org.apache.hadoop.fs.Path(target_path))

我還嘗試了網站中給出的以下代碼,但它也返回“false”

new java.io.File(target_path).isFile
scala.reflect.io.File(target_path).exists

target_path 有一個 delta_log 和一個鑲木地板零件文件。 請幫助我獲得正確的狀態。 (DBR-7.3 LTS, spark-3.0.1)

你非常接近:)

下面我用listStatus給我回的所有文件的狀態下一個數組pathToFolder ,這將是路徑包含拼花文件的文件夾。

然后我檢查文件夾下每個文件的路徑,檢查是否與target_path匹配。

import org.apache.hadoop.fs.Path

val sc: SparkContext = ???

val pathToFolder: String = ???
val pathToParquetFile: String = target_path

val config = sc.hadoopConfiguration
val src    = new Path(pathToFolder)
val fs     = src.getFileSystem(config)

val parquetFileExists: Boolean = fs
  .listStatus(src)
  .map(_.getPath.toString)
  .find(_ == pathToParquetFile)
  .isDefined

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM