如何从pyspark中的多个目录读取数据

时间:2018-10-08 11:30:39

标签: pyspark

我在S3中具有以下结构的目录/文件。

root/
    20180101/files.txt
    20180102/files.txt
    20180103/files.txt

现在我想将日期范围传递为start_date=20180101 and end_date=20180102。我希望pyspark代码从范围中包含的这些目录中读取文件。我该如何做到这一点。

**该范围是可配置的,即可以是1周/ 30天/ 90天

1 个答案:

答案 0 :(得分:0)

我创建了一个日期范围路径的列表,并传递给sc.text()。

start = datetime.datetime.strptime(start_date, '%Y%m%d')
end = datetime.datetime.strptime(end_date, '%Y%m%d')
step = datetime.timedelta(days=1)
paths = []

while start <= end:
    paths.append(s3_input_path+str(start.date().strftime("%Y%m%d"))+"/")
    start += step
str1 = ','.join(paths)