如何根据列在火花中重新分区?

Posted

技术标签:

【中文标题】如何根据列在火花中重新分区?【英文标题】:How to repartition in spark based on column? 【发布时间】:2019-02-28 19:16:14 【问题描述】:

我想根据日期列重新分区数据框。 就像,我在数据框中有 90 天的数据,我想根据天对数据进行分区,以便我在每个分区中都有每一天

我想要一个像下面这样的语法.. df.repartition("day",90)

在哪里 day => 数据框中的列 90 => 我想要的分区数

【问题讨论】:

【参考方案1】:

你可以这样做

import spark.implicits._
df.repartition(df.select($"day").count().toInt, $"day")

【讨论】:

以上是关于如何根据列在火花中重新分区?的主要内容,如果未能解决你的问题,请参考以下文章

SQL - 根据列值重新启动分区

PySpark 根据特定列重新分区

火花重新分配不均匀,仍然偏斜

使用少于 N 个分区的 N 个文件向磁盘写入火花

如何在倾斜列上重新分区 Spark scala 中的数据框?

如何根据其他列在火花中添加地图列?