【发布时间】:2018-02-19 19:32:04
【问题描述】:
我有一个以 HDF5 格式存储的大型数据集(约 600 GB)。由于这太大而无法放入内存,我想将其转换为 Parquet 格式并使用 pySpark 执行一些基本的数据预处理(标准化、查找相关矩阵等)。但是,我不确定如何在不将其加载到内存的情况下将整个数据集转换为 Parquet。
我查看了这个要点:https://gist.github.com/jiffyclub/905bf5e8bf17ec59ab8f#file-hdf_to_parquet-py,但似乎整个数据集正在被读入内存。
我想到的一件事是分块读取 HDF5 文件并将其增量保存到 Parquet 文件中:
test_store = pd.HDFStore('/path/to/myHDFfile.h5')
nrows = test_store.get_storer('df').nrows
chunksize = N
for i in range(nrows//chunksize + 1):
# convert_to_Parquet() ...
但我找不到任何可以让我逐步构建 Parquet 文件的文档。任何进一步阅读的链接将不胜感激。
【问题讨论】:
标签: python pandas hdf5 parquet hdf