Используя Datasets, вы можете определить рейтинги следующим образом:
case class Rating(user_id: Int, category_id:Int, count:Long)
Класс Rating здесь имеет имя столбца «count» вместо «rating», как предлагалось в качестве нулевого323. Таким образом, рейтинговая переменная присваивается следующим образом:
val transactions_with_counts = transactions.groupBy($"user_id", $"category_id").count
val rating = transactions_with_counts.as[Rating]
Таким образом, вы не будете запускать ошибки времени выполнения в Spark, потому что имя столбца вашего рейтинга совпадает с именем столбца «count», сгенерированным Spark во время выполнения.