赞
踩
1:使用 PyArrow 底层接口:
PyArrow 是 Pandas 在背后使用的库来处理 Parquet 文件。你可以直接使用 PyArrow 来逐块读取数据:
import pyarrow.parquet as pq
parquet_file = pq.ParquetFile('big_file.parquet')
for i in range(parquet_file.num_row_groups):
row_group = parquet_file.read_row_group(i)
# 处理这个 row group 的数据,例如转换成 Pandas DataFrame
df = row_group.to_pandas()
# 现在你可以对 df 进行处理
2:使用 Dask:
Dask 是一个并行计算库,它有自己的 read_parquet 函数,它支持分块处理和懒加载,这意味着数据只有在需要计算时才会被加载到内存中:
import dask.dataframe as dd
ddf = dd.read_parquet('your_file.parquet', chunksize='100MB')
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。