使用 PyArrow 按时间戳分区时的文件名输出

问题描述 投票:0回答:1

我目前正在使用 pyarrow 进行分区,使用名为“req_moment”的列对 pyarrow 数据框中的数据进行分区。分区过程本身没问题,但是文件名中显示的时间戳被不同的字符污染(我认为代表空格和“:”)。我正在运行下面的代码:

    pq.write_to_dataset(
        new_df.to_arrow(),
        f"abfss://{os.environ['STORAGE_ACCOUNT_CONTAINER']}/{os.environ['STORAGE_ACCOUNT_PATH']}",
        partition_cols = ['req_moment']
        filesystem=fs,        
    )

这会导致文件名如下所示:

/req_moment=2023-12-15%2009%3A31%3A18/d2c327fa52dd4c1ebd6afdf8f4cea7fe-0.parquet

所需的格式是:

/req_moment=2023-12-15 HH:mm:ss/d2c327fa52dd4c1ebd6afdf8f4cea7fe-0.parquet

这可能还是正常行为?

我尝试过转换列的数据类型等,但这一切似乎都没有帮助。

python parquet pyarrow
1个回答
0
投票

对于每个文件名运行取消引号以获取实际文本

import urllib.parse
for filename in filenames:
    filename = urllib.parse.unquote(filename)
© www.soinside.com 2019 - 2024. All rights reserved.