sc.setLogLevel("WARN")//设置不打印一堆INFO信息(减少打印量 保证Shell页面清晰干净)
一:导入相关recommendation包中相关类,然后加载数据,并解析到RDD【Rating】对象
①导入包,recommendation._是导入recommendation包中全部的类
scala> import org.apache.spark.mllib.recommendation._
import org.apache.spark.mllib.recommendation._
②加载数据;匹配模式;user product rating的类型是Int Int Double,需要转换;
scala> val data = sc.textFile("/root/cccc.txt").map(_.split(",") match {case Array (user,product,rating) => Rating (user.toInt,product.toInt,rating.toDouble)})
data: org.apache.spark.rdd.RDD[org.apache.spark.mllib.recommendation.Rating] = MapPartitionsRDD[29] at map at <console>:24
或者:val data = sc.textFile("/root/cccc.txt").map(_.split(",");Rating(f(0).toInt,f(1).toInt,f(2).toDouble) //这句运行有错。
/**如果不用模式匹配 还可以用if判断(本身case就是if的另一种形式)**/
【附加:.first可以查看数据的第一行;.count可以统计数据的行数
scala> data.first
res24: org.apache.spark.mllib.recommendation.Rating = Rating(1,1,5.0)
scala> data.count
res25: Long = 16 】
----------------------------------------------------------------------------------------------
二:设置参数,建立ALS模型
利用自带的函数:
ALS.train(data,rank,iterations,lambda)
各参数意义:
ALS.train(数据,维度,迭代次数,正则化参数)
细释:k:维度(这里用rank表示),rank一般选在8到20之间
iterations:迭代次数
lambda:正则化参数
一:导入相关recommendation包中相关类,然后加载数据,并解析到RDD【Rating】对象
①导入包,recommendation._是导入recommendation包中全部的类
scala> import org.apache.spark.mllib.recommendation._
import org.apache.spark.mllib.recommendation._
②加载数据;匹配模式;user product rating的类型是Int Int Double,需要转换;
scala> val data = sc.textFile("/root/cccc.txt").map(_.split(",") match {case Array (user,product,rating) => Rating (user.toInt,product.toInt,rating.toDouble)})
data: org.apache.spark.rdd.RDD[org.apache.spark.mllib.recommendation.Rating] = MapPartitionsRDD[29] at map at <console>:24
或者:val data = sc.textFile("/root/cccc.txt").map(_.split(",");Rating(f(0).toInt,f(1).toInt,f(2).toDouble) //这句运行有错。
/**如果不用模式匹配 还可以用if判断(本身case就是if的另一种形式)**/
【附加:.first可以查看数据的第一行;.count可以统计数据的行数
scala> data.first
res24: org.apache.spark.mllib.recommendation.Rating = Rating(1,1,5.0)
scala> data.count
res25: Long = 16 】
----------------------------------------------------------------------------------------------
二:设置参数,建立ALS模型
利用自带的函数:
ALS.train(data,rank,iterations,lambda)
各参数意义:
ALS.train(数据,维度,迭代次数,正则化参数)
细释:k:维度(这里用rank表示),rank一般选在8到20之间
iterations:迭代次数
lambda:正则化参数