scala spark rdd соединяет две таблицы с одинаковым идентификатором - PullRequest
0 голосов
/ 16 декабря 2018

У меня есть следующие значения:

case class Rating(user_ID: Integer, movie_ID: Integer, rating: Integer, timestamp: String)
case class Movie(movie_ID: Integer, title: String, genre: String)

Я соединяю их вместе в Scala, например:

val m = datamovie.keyBy(_.movie_ID)
val r = data.keyBy(_.movie_ID)
val mr = m.join(r)  

Я получаю свой результат как RDD[(Int, (Movie, Rating))] Как мне напечататьплитка из фильмов, которые имеют рейтинг 5, например.Я не уверен, как работать с новым RDD, созданным с помощью объединения!

1 Ответ

0 голосов
/ 16 декабря 2018

Конвертируйте их в искровой датафрейм и выполняйте объединения.Есть ли какая-то конкретная причина, по которой вы хотели сохранить их в RDD

val m = datamovie.toDF
val r = data.toDF
val mr = m.join(r, Seq("movie_id"), "left").where($"rating" === "5").select($"title")
...