我对scala和spark很新,但我对Python和其他语言有很多经验。 我有一个奇怪的问题,我在包中使用的函数org.apache.spark.mllib.recommendation.Rating
Zepplin笔记本停止执行我的段落,但是我没有收到错误消息....
val ratings = spark.sql("SELECT _c0 as user,_c1 as product,_c2 as rating FROM datasetframe").rdd.map {case sql.Row(user: Int, product: Int, rating: Int) => Rating(user.toInt, product.toInt, rating.toInt)}
我试图重置Zepplin并启动一个新代码,分为多段......没有用。 我假设我的行有语法问题,但解释器没有报告它。
任何人都可以提供帮助吗?!
这是代码的开头:
%spark
import org.apache.spark.mllib.recommendation.ALS
import org.apache.spark.mllib.recommendation.MatrixFactorizationModel
import org.apache.spark.mllib.recommendation.Rating
val data = spark.read.option("header", "false").csv("/user/philippe.samson/testing4/part-m-00000")
data.createOrReplaceTempView("datasetframe")
val sqlDF = spark.sql("SELECT * FROM datasetframe")
val ratings = spark.sql("SELECT _c0 as user,_c1 as product,_c2 as rating FROM datasetframe").rdd.map {case sql.Row(user: Int, product: Int, rating: Int) => Rating(user.toInt, product.toInt, rating.toInt)}
我也愿意测试其他方法。 让我知道!
答案 0 :(得分:0)
我的问题与NaN值有关。 我用这个解决了: projections.select([预测中的c的to_null(c).alias(c)])。na.drop() 我也必须导入“从pyspark.sql.functions导入col,isnan,何时修剪”