我有一个CSV文件目录。这些文件是根据日期命名的,类似于下图:
我有很多可以追溯到2012年的CSV文件。
因此,我只想读取与特定日期相对应的CSV文件。怎么可能在火花中?换句话说,我不希望我的Spark引擎麻烦并读取所有CSV文件,因为我的数据很大(TB)。
非常感谢您的帮助!
答案 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)