Данные, которые у меня есть, являются своего рода потоковыми данными.И я хочу сохранить их в одном файле Parquet.Но Pyarrow будет перезаписывать файл Parquet каждый раз.Итак, как мне быть?
Я стараюсь не закрывать устройство записи, но это кажется невозможным, поскольку если я не закрыл его, то не смог бы прочитать этот файл.
Вот пакет:
import pyarrow.parquet as pp
import pyarrow as pa
for name in ['LEE','LSY','asd','wer']:
writer=pq.ParquetWriter('d:/test.parquet', table.schema)
arrays=[pa.array([name]),pa.array([2])]
field=[pa.field('name',pa.string()),pa.field('age',pa.int64())]
table=pa.Table.from_arrays(arrays,schema=pa.schema(field))
writer.write_table(table)
writer.close()
Но на самом деле я хочу каждый раз закрывать писатель и открывать его, чтобы добавить одну строку к данным, например:
for name in ['LEE','LSY','asd','wer']:
writer=pq.ParquetWriter('d:/test.parquet', table.schema)
arrays=[pa.array([name]),pa.array([2])]
field=[pa.field('name',pa.string()),pa.field('age',pa.int64())]
table=pa.Table.from_arrays(arrays,schema=pa.schema(field))
writer.write_table(table)
writer.close()