当我保存具有有效分区的 dask 数据帧时,回读时不存在分区
df.divisions # ['a', 'b', 'c', ...]
df.to_parquet('frame.pq', engine=engine, write_index=True, compute=True)
df2 = dask.dataframe.read_parquet('frame.pq', engine='pyarrow')
df2.divisions # [None, None, ...]
我怎样才能保留分区df2
?
我需要吗
- 以不同的方式保存
df
? - 读
df2
不同? - 阅读后以某种方式恢复分区
df2
?
按照@mdurant 在评论中的建议,我发现使用engine ='fastparquet'
. 不幸的是,fastparquet 无法序列化我的数据。
当 fastparquet 没有时,为什么 pyarrow 会丢失分区信息。