如何使用pyarrow将自定义元数据存储到ParquetDataset
例如,如果我使用Dask创建拼花地板数据集
import dask
dask.datasets.timeseries().to_parquet('temp.parq')
然后我可以用pyarrow阅读它
import pyarrow.parquet as pq
dataset = pq.ParquetDataset('temp.parq')
但是,我将用于为单个拼花地板文件(在How to write Parquet metadata with pyarrow?中概述)编写元数据的相同方法不适用于ParquetDataset
,因为没有replace_schema_metadata
函数或类似函数
我想我可能想编写一个定制的_custom_metadata
文件,因为我想存储的元数据与整个数据集有关。我想程序类似于:
meta = pq.read_metadata('temp.parq/_common_metadata')
custom_metadata = { b'type': b'mydataset' }
merged_metadata = { **custom_metadata, **meta.metadata }
# TODO: Construct FileMetaData object with merged_metadata
new_meta.write_metadata_file('temp.parq/_common_metadata')
一种可能性(不能直接回答这个问题)是使用dask
Dask通过将元数据写入目录中的所有文件来实现这一点,包括
_common_metadata
和_metadata
相关问题 更多 >
编程相关推荐