如何基于文件的日期戳过滤Spark数据帧

时间:2018-12-27 18:01:31

标签: python apache-spark pyspark

有人可以让我知道如何过滤文件上的日期戳

我在Azure Data Lake的相应文件夹中具有以下文件:

String jobGroup = rs.getString("JOB_GROUP").trim();

if (jobGroup == null || jobGroup.isEmpty()) {

}

我编写了以下脚本,该脚本将读取两个文件夹中的所有.csv文件,但我只想根据当前日期读取其各自文件夹中的.csv文件。

adl://carlslake.azuredatalakestore.net/folderOne/filenr1_1166_2018-12-20%2006-05-52.csv

adl://carlslake.azuredatalakestore.net/folderTwo/filenr2_1168_2018-12-22%2006-07-31.csv

有人可以让我知道如何根据当前日期调整上述文件夹中的已读文件。这两个.csv文件是2018-12-20和2018-12-22

我认为可能是这样写的

test1 = spark.read.csv("adl://carlslake.azuredatalakestore.net/folderOne/",inferSchema=True,header=True)
test2 = spark.read.csv("adl://carlslake.azuredatalakestore.net/folderTwo/",inferSchema=True,header=True)

但这没用

2 个答案:

答案 0 :(得分:1)

尝试类似

from datetime import datetime

today = datetime.today().date()
test1 = spark.read.csv(f"adl://carlslake.azuredatalakestore.net/
                       folderOne/*_{today}*.csv")

答案 1 :(得分:1)

随便

test1 = spark.read.csv("adl://carlslake.azuredatalakestore.net/testfolder/RAW/*{today}.csv"

另一种模式*_{today}*.csv与您在filenr1_1166_2018-12-20%2006-05-52.csv上方的文件示例不匹配