从Awkward 1迁移至2:如何实现Parquet文件懒加载?
Awkward 2.x 实现Parquet懒加载的方法
在Awkward 2.x中,原1.x版本里ak.from_parquet(filename, lazy=True)的写法已经不再支持,取而代之的是用ak.parquet.ParquetDataset来实现按需加载(懒加载)的功能,具体操作如下:
- 先创建Parquet数据集对象,这一步仅读取文件元数据,不会加载实际内容:
import awkward as ak import numpy as np # 仅构建数据集对象,不读取真实数据 dataset = ak.parquet.ParquetDataset(filename)
- 当你访问特定列并执行计算时,才会实际读取该列的数据:
# 此时才会读取"x"列数据并计算最大值 print(np.max(dataset["x"]), end=" ")
这种方式和你之前在Awkward 1.x中实现的效果完全一致:只有在真正需要使用某列数据时,才会从Parquet文件中读取对应内容,避免一次性加载全部数据占用内存。
内容的提问来源于stack exchange,提问作者Masahiro Yoshimoto
相关产品推荐
相关产品推荐

