У меня есть DataFrame со столбцом id
.Я хотел бы сделать некоторые вычисления для строк для каждого идентификатора (не только для агрегирования) и вывести новый DataFrame с одной строкой на идентификатор, содержащий результаты вычислений.
Я пытаюсь сделать это путем повторного разбиенияна идентификатор, а затем с помощью mapPartitions
:
df.repartition(col("id")).mapPartitions(iter => {
val dfSubset = // iter to DataFrame?
// Computations on dfSubset
})
Но как создать DataFrame из iter
?Цель состоит в том, чтобы затем выполнить вычисления в DataFrame dfSubset
, содержащей все строки для идентификатора.
РЕДАКТИРОВАТЬ:
repartition(col("id"))
не будет создавать 1 раздел на id
.Мы должны использовать groupBy("id")
вместо.