在 PyArrow 中,可以使用 pyarrow.parquet.write_table() 方法来写入 Parquet 数据,其默认会将数据写入单个 Parquet 文件中。如果需要按照指定的 chunk_size 写入多个文件,则可以通过自定义 write_target(写入目标)来实现。
下面是一个示例代码,它模拟了一个大数据集并将其按照 chunk_size 分块,然后依次写入多个 Parquet 文件。
import pyarrow as pa
import pyarrow.parquet as pq
# 模拟一个大数据集
table = pa.Table.from_pydict({
    'col1': list(range(1000000)),
    'col2': list(range(1000000, 2000000))
})
# 分块写入 Parquet 文件
chunk_size = 10000
for i in range(0, table.num_rows, chunk_size):
    sub_table = table.slice(i, chunk_size)
    filename = f"data_{i // chunk_size}.parquet"
    with open(filename, "wb") as f:
        parquet_writer = pq.ParquetWriter(f, sub_table.schema)
        parquet_writer.write_table(sub_table)
        parquet_writer.close()
print("Done.")
这段代码将数据集分成了大小为 chunk_size 的小块,并分别将它们写入到以“data_i.parquet”命名的多个文件中。在实际的应用中,你可以按照自己的需求来指定 chunk_size 和 Parquet 文件的命名规则。
                    上一篇:按垂直和水平数据分组
                
下一篇:按初始键的顺序递增填充字典值