Spark影評分析

2021-09-14 06:08:54 字數 1652 閱讀 3403

表結構

求被評分次數最多的 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 部電影,並給出評分次...