Spark影評資料分析一

2021-10-04 10:50:44 字數 1119 閱讀 4308

本次所分析的資料有使用者、電影、評分三個表,結構如下:

使用者表

電影表

評分表

資料一瞥

一共有十個需求,需求一到五作為學習參考,需求六到十自己動手實踐。

專案結構如圖:

在分析之前,先建立乙個utils類,主要用於初始化配置資訊以及解析原始資料。(記得修改資料檔案路徑)

package movie

import org.apache.spark.rdd.rdd

import org.apache.spark.

class

utils

下面是十個需求的具體問題:求被評分次數最多的 10 部電影,並給出評分次數(電影名,評分次數)

分別求男性,女性當中評分最高的 10 部電影(性別,電影名,影評分)

分別求男性,女性看過最多的 10 部電影(性別,電影名)

年齡段在「18-24」的男人,最喜歡看 10 部電影

求 movieid = 2116 這部電影各年齡段(因為年齡就只有 7 個,就按這個 7 個分就好了)的平均影評(年齡段,影評分)

求最喜歡看電影(影評次數最多)的那位女性評最高分的 10 部電影的平均影評分(觀影者,電影名,影評分)

求好片(評分》=4.0)最多的那個年份的最好看的 10 部電影

求 1997 年上映的電影中,評分最高的 10 部 comedy 類電影

該影評庫中各種型別電影中評價最高的 5 部電影(型別,電影名,平均影評分)

各年評分最高的電影型別(年份,型別,影評分)

需求一到五。

需求六到十。

Spark影評資料分析二

接上篇文章。共十個需求,前五個是作為學習參考直接給出答案的,後五個本人自己實現的。值得注意的是,如果讀者仔細推敲,需求一到五是存在邏輯上的錯誤的。這裡我暫且照搬。package movie import org.apache.spark.rdd.rdd 求被評分次數最多的 10 部電影,並給出評分次...

Spark影評分析

表結構 求被評分次數最多的 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,...

spark資料分析 2

首先來理解 0,0 這個初始值 說明aggregate 方法會返回乙個元組,而因為是分布式集群來進行分析,所以第乙個lambda表示式是每個worker所執行的,比如我們有三個worker,那麼他們得到的結果分別是 14,2 8,2 14,2 而第二個lambda表示式則是driver把那三個wor...