如何基于Spark中的文件名从目录中读取特定文件?

时间:2019-12-02 13:13:07

标签: apache-spark

我有一个CSV文件目录。这些文件是根据日期命名的,类似于下图:

enter image description here

我有很多可以追溯到2012年的CSV文件。

因此,我只想读取与特定日期相对应的CSV文件。怎么可能在火花中?换句话说,我不希望我的Spark引擎麻烦并读取所有CSV文件,因为我的数据很大(TB)。

非常感谢您的帮助!

1 个答案:

答案 0 :(得分:1)

从DataFrameReader调用load(paths)或csv(paths)方法时,可以指定要处理的文件列表。

因此,一种选择是列出并过滤驱动程序上的文件,然后仅加载“最近”文件:

val files: Seq[String] = ???
spark.read.option("header","true").csv(files:_*)

编辑: 您可以使用此python代码(尚未测试)

files=['foo','bar']
df=spark.read.csv(*files)