Pyspark 访问文件夹 XXX/2021/12/20 中的数据

Pyspark access data in folder XXX/2021/12/20

我在 Azure Synpase 中有一个管道 运行,我需要执行一个创建当前日期文件夹的 pyspark 代码。结构必须是“2021/12/10”(这是我的管道执行的最新数据。年月日一个文件夹)。

path= 'dataupdated/yyyy/MM/dd' ..我只需要自动创建这些文件夹

我想我必须使用“get datetime”..

您可以使用 os 库来做到这一点。

import os
from datetime import datetime as dt
filename = f"{dt.now().strftime('%Y')}/{dt.now().strftime('%m')}/{dt.now().strftime('%d')}/file.extension" 
#This makedirs below will create directories if not found
os.makedirs(os.path.dirname(filename), exist_ok=True)
with open(filename, "w") as f:
    f.write("test")

无法在 ADLS 中创建文件夹结构为:yyyy/MM/dd 的文件夹,因为它不接受正斜杠作为文件夹名称。请检查下图。

您可以使用以下代码创建文件夹,格式为:yyyy-MM-dd

from pyspark.sql.functions import *
from datetime import datetime
var=datetime.utcnow()
mssparkutils.fs.mkdirs("/dataupdated/"+var.strftime('%Y-%m-%d'))

如果我们尝试使用

创建文件夹
mssparkutils.fs.mkdirs("/dataupdated/"+var.strftime('%Y/%m/%d'))

它将正斜杠后的下一个字符串视为子文件夹。