我有以下rdds:
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!
答案 0 :(得分:1)
将它们转换为引发数据框并执行联接。您是否要保留RDD的特定原因?
val m = datamovie.toDF
val r = data.toDF
val mr = m.join(r, Seq("movie_id"), "left").where($"rating" === "5").select($"title")