SparkR: порядок по двум столбцам в порядке убывания - PullRequest
0 голосов
/ 15 апреля 2020

Я пытаюсь упорядочить SparkDataFrame по двум столбцам в моем фрейме данных.

Пример выглядит следующим образом:

library(magrittr)
library(SparkR)
cars <- cbind(model = rownames(mtcars), mtcars)
carsDF <- createDataFrame(cars)

Следующие ошибки:

carsDF %>%
  mutate(rank = over(rank(), orderBy(windowPartitionBy(column("cyl")), desc(column("mpg")), desc(column("disp"))))) %>%
  head()

Мне кажется, что это связано с использованием функции column(), причина в том, что это также не срабатывает:

carsDF %>%
  mutate(rank = over(rank(), orderBy(windowPartitionBy(column("cyl")), column("mpg"), column("disp")))) %>%
  head()

В то время как следующие две команды (один аргумент для orderBy(), оба с и без функции column()):

carsDF %>%
  mutate(rank = over(rank(), orderBy(windowPartitionBy("cyl"), "mpg"))) %>%
  head()

carsDF %>%
  mutate(rank = over(rank(), orderBy(windowPartitionBy(column("cyl")), column("mpg")))) %>%
  head()
...