首页 > 解决方案 > 使用 scala spark 删除具有给定扩展名的所有文件

问题描述

当我尝试使用 spark 将数据帧写入 csv 文件时,会生成一些 csv.crc 文件。因此我想删除所有扩展名为 .csv.crc 的文件

val fs = FileSystem.get(existingSparkSession.sparkContext.hadoopConfiguration)
    val srcPath=new Path("./src/main/resources/myDirectory/*.csv.crc")
    println(fs.exists(srcPath))
    println(fs.isFile(srcPath))
    if(fs.exists(srcPath) && fs.isFile(srcPath)) {
      fs.delete(srcPath,true)
    }

两条 prinln 行都给出 false 作为值。因此它甚至没有进入 if 条件。如何使用 scala 和 spark 删除 all.csv.crc 文件

标签: scalaapache-sparkdelete-file

解决方案


您可以在写入时使用以下选项来避免 crc 文件。(注意:您正在消除校验和)。 fs.setVerifyChecksum(false).
否则,您可以在阅读以下内容时避免使用 crc 文件,
config.("dfs.client.read.shortcircuit.skip.checksum", "true").


推荐阅读