表結構
求被評分次數最多的 10 部電影,並給出評分次數(電影名,評分次數)
import org.apache.spark.
object test; //電影id,電影名
val rate=rdd2.map.map(x=>(x,1)).reducebykey((x,y)=>x+y).sortby(x=>x._2,false,1); //電影id,評分次數
val result=rate.join(movie).sortby(x=>x._2._1,false,1).take(10);
result.foreach( x =>println(x._2._2+"\t"+x._2._1));
}}
result元組是《電影id,(評分次數,電影名)>
分別求男性,女性當中評分最高的 10 部電影(性別,電影名,影評分)
package demo
import org.apache.spark.
object wordcount; //電影id,電影名
val rate=rdd2.map; //使用者id,(電影id,評分)
val user=rdd3.map; //使用者id,性別
val man=user.filter(x=>(x._2=="m"));
val woman=user.filter(x=>(x._2=="f"));
val manmovierate=rate.join(man).map.reducebykey((x,y)=>x+y); //男生電影id,評分
val womanmovierate=rate.join(woman).map.reducebykey((x,y)=>x+y); //女生電影id,評分
val manmovie=movie.join(manmovierate).map.sortby(x=>x._2,false,1).take(10);
val womanmovie=movie.join(womanmovierate).map.sortby(x=>x._2,false,1).take(10);
manmovie.foreach(x=>println("m"+"\t"+x._1+"\t"+x._2));
womanmovie.foreach(x=>println("f"+"\t"+x._1+"\t"+x._2));
}}
rate.join(man)元組是《使用者id,((電影id,評分),性別)>
movie.join(manmovierate)元組是《電影id,(電影名,評分)>
IMDB影評分析實驗
資料集資源 該資料集中包含了5萬條影評 包括正面評價和負面評價 利用這5萬條影評進行資料分析。資料格式 5萬條影評分別處於5萬個txt檔案中 工作步驟如下 3 將處理後的文字進行特徵提取並向量化 4 進 感的分類 coding utf 8 time 2019 9 1016 11 author sup...
Spark影評資料分析一
本次所分析的資料有使用者 電影 評分三個表,結構如下 使用者表 電影表 評分表 資料一瞥 一共有十個需求,需求一到五作為學習參考,需求六到十自己動手實踐。專案結構如圖 在分析之前,先建立乙個utils類,主要用於初始化配置資訊以及解析原始資料。記得修改資料檔案路徑 package movie imp...
Spark影評資料分析二
接上篇文章。共十個需求,前五個是作為學習參考直接給出答案的,後五個本人自己實現的。值得注意的是,如果讀者仔細推敲,需求一到五是存在邏輯上的錯誤的。這裡我暫且照搬。package movie import org.apache.spark.rdd.rdd 求被評分次數最多的 10 部電影,並給出評分次...