微网站 php,网页游戏传奇大全,建设通多少钱一年,运维工程师40岁以后出路一、基于用户的推荐公式 其中#xff0c;S(u,K)表示与用户u最相似的K个用户#xff0c;N(i)代表喜欢物品i的用户集合#xff0c;rm表示用户v对物品i的评分。 二、代码
public class UserCFRecommendApp {public static void main(String[]args){SparkConf sparkConf new S…一、基于用户的推荐公式 其中S(u,K)表示与用户u最相似的K个用户N(i)代表喜欢物品i的用户集合rm表示用户v对物品i的评分。 二、代码
public class UserCFRecommendApp {public static void main(String[]args){SparkConf sparkConf new SparkConf();sparkConf.setAppName(UserCFRecommendApp);sparkConf.setMaster(local[*]);SparkSession sparkSession SparkSession.builder().config(sparkConf).getOrCreate();String url jdbc:mysql://localhost:3306/spark-mysql?useUnicodetruecharacterEncodingutf8autoReconnecttruefailOverReadOnlyfalse;String driver com.mysql.jdbc.Driver;String user root;String password admin;DatasetRow score sparkSession.read().format(jdbc).option(driver, driver).option(url,url).option(dbtable,user_item).option(user,user).option(password,password).load();DatasetRow similar sparkSession.read().format(jdbc).option(driver, driver).option(url,url).option(dbtable,user_similar).option(user,user).option(password,password).load();//分组 top k
// similar similar.selectExpr(a_user_id, b_user_id, count,
// ROW_NUMBER() OVER (PARTITION BY a_user_id ORDER BY count DESC) rank)
// .where(rank 10);//similar.show();DatasetRow result similar.as(us).join(score.as(s), functions.column(us.b_user_id).$eq$eq$eq(functions.column(s.user_id))).selectExpr(us.a_user_id user_id, s.item_id, us.count * s.score score).groupBy(user_id, item_id).sum(score).selectExpr(user_id, item_id, sum(score) score);result.show();
// result.write()
// .mode(SaveMode.Overwrite)
// .format(jdbc)
// .option(driver, driver)
// .option(url,url)
// .option(dbtable,user_item_recom)
// .option(user,user)
// .option(password,password)
// .save();sparkSession.stop();}
}