python - 使用 pandas.DataFrame.to_parquet 控制行组
问题描述
要将 parquet 文件读入多个分区,应使用行组存储它(请参阅如何使用 dask/dask-cudf 将单个大型 parquet 文件读入多个分区?)。pandas 文档描述了列的分区,pyarrow 文档描述了如何编写多个行组。使用 pandas DataFrame.to_parquet
方法,我可以接口写入多个行组的能力,还是它总是写入单个分区?如果是,如何?
虽然数据集很小(目前只有 3 GB),但我想读入多个分区,以便使用 dask 进行后续处理将使用多个内核(我可以重新分区,但这会产生额外的开销)(我可能会使用大约 10 秒的数据集GB 之后,仍然很小但对于 RAM 来说太大了)。
解决方案
row_group_size
使用 pyarrow 时,您可以简单地提供关键字参数。请注意,pyarrow 是默认引擎。
df.to_parquet("filename.parquet", row_group_size=500, engine="pyarrow")
推荐阅读
- java - 如何在骆驼中提取xpath列表
- php - 使用 xampp 时遇到服务器错误
- atom-editor - Atom - 从不同层次结构打开多文件夹项目
- sql - 我有一个符合统计的数据现在我想要一个符合我的数据库的数据
- java - Spring-boot + liquibase:复杂的数据操作/迁移/填充
- amazon-web-services - 将 Amazon SQS 用于接收相同消息的多个使用者
- javascript - 使用 MVC 检查至少一个自动生成 jquery 数据表复选框
- javascript - 类javascript画布中的线旋转
- javascript - Extjs 网格跨度和行跨度
- python - pd.to_datetime 上的未知字符串格式