因为对spark的ML不熟悉,asl模型训练出来之后不知道怎么保存,找了些资料都是很老的版本,各种遍历一个一个读取,速度慢的要命,最后看了下spark 1.4出来的新接口:
recommendProductsForUsers
只需要传入推荐的个数,即可拿到所有的结果。并可以保存到hdfs
model.recommendProductsForUsers(numRecommender).flatMap(x => {
val user = x._1.toString
val rat = x._2
var res = List[(String,String)]()
for( r <- rat){
res=res:+(user,r.product+","+r.rating)
}
res
}).saveAsTextFile("/xxx/" + getNowDate)
被自己蠢到了