[英]How to loop large parquet file with generators in python?
是否可以使用生成器打开镶木地板文件并逐行迭代? 这是为了避免将整个 parquet 文件加载到内存中。
该文件的内容是 pandas DataFrame。
您不能按行迭代,因为它不是存储方式。 您可以按如下方式遍历行组:
from fastparquet import ParquetFile
pf = ParquetFile('myfile.parq')
for df in pf.iter_row_groups():
process sub-data-frame df
您可以使用 tensorflow_io 进行迭代。
import tensorflow_io as tfio
dataset = tfio.IODataset.from_parquet('myfile.parquet')
for line in dataset.take(3):
# print the first 3 lines
print(line)
如果通常情况下,Parquet 作为多个文件存储在一个目录中,您可以运行:
for parquet_file in glob.glob(parquet_dir + "/*.parquet"):
df = pd.read.parquet(parquet_file)
for value1, value2, value3 in zip(df['col1'],df['col2'],df['col3']):
# Process row
del df
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.