【发布时间】:2022-01-09 14:54:09
【问题描述】:
我有方法 getAllFiles:
import org.apache.hadoop.fs.{LocatedFileStatus, Path}
def getAllDLFiles: Iterator[LocatedFileStatus] = {
val hadoopConfig = spark.sparkContext.hadoopConfiguration
val isCsvFile = (_ : LocatedFileStatus).getPath.getName.endsWith(".csv")
val allFiles = path.getFileSystem(hadoopConfig)
.listFiles(path, true)
.filter(isCsvFile)
allFiles
}
此方法从目录中读取所有文件。然后它应用一个只返回 csv 文件的过滤器。
但我想立即应用过滤器。在他归还所有文件之前。请帮我。 我知道在 Hadoop 文件系统库中有一个特殊的类——PathFilter。但我不知道如何使用它。
【问题讨论】:
-
路径过滤器的工作方式相同
标签: scala hadoop filesystems hdfs