gpt4 book ai didi

azure - 使用 scala 检查 parquet 文件是否存在

转载 作者:行者123 更新时间:2023-12-03 02:19:42 29 4
gpt4 key购买 nike

发布类似的问题,因为现有的线程非常旧。我使用下面的代码来检查文件是否存在于 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 和一个 parquet 零件文件。请帮助我获得正确的状态。(DBR-7.3 LTS、spark-3.0.1)

最佳答案

你们非常接近:)

下面我使用 listStatus 给我返回 pathToFolder 下所有文件的状态数组,这将是包含 parquet 文件的文件夹的路径.

然后,我检查该文件夹下每个文件的路径,并检查是否与 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

关于azure - 使用 scala 检查 parquet 文件是否存在,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/69566522/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com