gpt4 book ai didi

io - 使用 pyarrow.parquet 编写数据集时,是否可以覆盖文件名的 uuid 自动分配?

转载 作者:行者123 更新时间:2023-12-05 02:14:57 25 4
gpt4 key购买 nike

假设我有一个 pandas DataFrame df,我想使用 pyarrow parquet 将其作为数据集存储在磁盘上,我会这样做:
表 = pyarrow.Table.from_pandas(df)
pyarrow.parquet.write_to_dataset(表,root_path=some_path,partition_cols=['a',])
在磁盘上,数据集看起来像这样:
一些路径
├── a=1
____├── 4498704937d84fe5abebb3f06515ab2d.parquet
├── a=2
____├── 8bcfaed8986c4bdba587aaaee532370c.parquet

问:在dataset 写入过程中,我是否可以通过某种方式覆盖自动分配的长UUID 作为文件名?我的目的是当我有新版本的 df 时能够覆盖磁盘上的数据集。目前,如果我尝试再次编写数据集,另一个新的唯一命名的 [UUID].parquet 文件将被放置在旧文件旁边,具有相同的冗余数据。

最佳答案

对于任何对这个问题的发展感兴趣的人,它在 pyarrow 版本 0.15.0 中得到解决,非常感谢开源社区(Jira 问题 link )。

按照问题中使用的示例:

pyarrow.parquet.write_to_dataset(table, 
some_path,
['a',],
partition_filename_cb=lambda x:'-'.join(x)+'.parquet')

会生成这样一个保存的数据集:

├── a=1
├── 1.parquet
├── a=2
├── 2.parquet

关于io - 使用 pyarrow.parquet 编写数据集时,是否可以覆盖文件名的 uuid 自动分配?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52844511/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com