【发布时间】:2023-03-12 16:58:01
【问题描述】:
我对 scala 和 spark 还很陌生,但我对 Python 和其他语言有很多经验。 我遇到了一个奇怪的问题,我在包 org.apache.spark.mllib.recommendation.Rating 中使用了一个函数
Zepplin notebook 停止执行我的段落时,他 encoutners 这行但是我没有收到错误消息....
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)}
我也愿意测试其他方法。 告诉我!
【问题讨论】:
-
新问题,这次异常被 ALS.TRAIN 抛出
-
我遇到的问题是:scala.MatchError: [13468020,117,1] (of class org.apache.spark.sql.catalyst.expressions.GenericRowWithSchema)....I调查它并注意到它必须是一个数据类型问题,但我无法弄清楚......如果有人对匹配错误有见解......请告诉我!
标签: scala apache-spark apache-spark-sql apache-spark-mllib