You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何基于data.table分组写入Arrow数据集?

回答

直接使用arrow::write_dataset的partitioning参数显式指定分区列即可,无需依赖data.table的键或分组设置,这是Arrow生成分区数据集的标准方式,代码如下:

grouping_cols <- c("year", "month", "day")
output_folder <- "my/path"

arrow::write_dataset(
  df,
  path = output_folder,
  format = "parquet",
  partitioning = grouping_cols
)

关键说明

  • partitioning是write_dataset专门用于定义数据集分层规则的参数,无论输入是data.table、普通data.frame还是dplyr分组对象,只要指定该参数就能生成对应的分层文件夹结构。
  • 之前dplyr分组能生效,是因为write_dataset会自动识别dplyr分组对象的分组键作为分区列,但data.table的setkeyv设置不会被该函数识别,因此必须显式声明partitioning。
  • 这种方式既保留了data.table处理大数据集的高效性,又能完全符合Arrow数据集的结构规范。

内容的提问来源于stack exchange,提问作者Alberto Agudo Dominguez

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.26 05:07:17