Постановка задачи
Определите, какая пара актеров работала вместе больше всего. Работать вместе
определяется как появляющийся в том же фильме. На выходе должно быть три
столбцы: актер 1, актер 2 и кол. Вывод должен быть отсортирован по количеству
в порядке убывания. Решение этого вопроса потребует самостоятельного объединения.
Решение
У меня был следующий запрос, чтобы решить его и вывод. Вывод имеет дублирующиеся значения для актера 1 и актера 2, поэтому мне интересно, как я могу удалить эти дубликаты,
val df = movies.as("set").join(movies.as("anotherSet"), $"set.movie_title" === $"anotherSet.movie_title" && $"set.actor_name" =!= $"anotherSet.actor_name")
.groupBy($"set.actor_name".as("actor 1"), $"anotherSet.actor_name".as("actor 2"))
.count()
.orderBy($"count".desc)
+-----------------+------------------+-----+
| actor 1| actor 2|count|
+-----------------+------------------+-----+
| Lynn, Sherry (I)| McGowan, Mickie| 23|
| McGowan, Mickie| Lynn, Sherry (I)| 23|
| Lynn, Sherry (I)| Bergen, Bob (I)| 19|
| Bergen, Bob (I)| McGowan, Mickie| 19|
| McGowan, Mickie| Bergen, Bob (I)| 19|
| Bergen, Bob (I)| Lynn, Sherry (I)| 19|
| McGowan, Mickie| Angel, Jack (I)| 17|
| Angel, Jack (I)| McGowan, Mickie| 17|
| Angel, Jack (I)| Lynn, Sherry (I)| 17|
| Lynn, Sherry (I)| Angel, Jack (I)| 17|
| McGowan, Mickie| Rabson, Jan| 16|
| Lynn, Sherry (I)| Rabson, Jan| 16|
| Rabson, Jan| McGowan, Mickie| 16|
| Rabson, Jan| Lynn, Sherry (I)| 16|
|Darling, Jennifer| McGowan, Mickie| 15|
| McGowan, Mickie| Darling, Jennifer| 15|
| Bergen, Bob (I)| Harnell, Jess| 14|
|Darling, Jennifer| Lynn, Sherry (I)| 14|
|Sandler, Adam (I)|Schneider, Rob (I)| 14|
| Harnell, Jess| Bergen, Bob (I)| 14|
+-----------------+------------------+-----+