apache 如何在R箭头write_dataset()中设置最大分区数

57hvy0tb  于 2023-05-18  发布在  Apache
关注(0)|答案(1)|浏览(162)

我试图使用arrow::write_dataset()在R中写入 Dataframe ,我收到以下错误消息,说明我的 Dataframe 将被分割成太多的分区:

Error: Invalid: Fragment would be written into 3435 partitions. This exceeds the maximum of 1024

有没有办法增加分区的最大数量?显然,这可以在Python中完成,因为pyarrow.dataset.write_dataset()有一个max_partitions参数,但我没有看到R箭头包类似的东西。

x9ybnkn6

x9ybnkn61#

今天下午我也遇到了最大分区限制。而不是试图调整最大分区数,我改变了我的分区。原因是:

  • 箭头分隔导杆
  • 避免使用小于20MB和大于2GB的文件。
  • 避免使用超过10,000个不同分区的分区布局。
  • 保存在OS路径中的分区。在Windows操作系统中,长路径存在问题。

所以,我通过下面的代码来改变它。
data_path <- file.path('arrow_data_path') large_df |> group_by(column_name) |> write_dataset(data_path) column_name的列中的唯一值将是分区名称。并且总唯一值计数将是分区号。
就这些,希望能帮上忙。
WY

相关问题