【发布时间】:2016-05-30 11:58:59
【问题描述】:
我正在从一个用 scala 编写的 spark 项目中的 MySQL 数据库中读取一个表。这是我的第一周,所以我真的不太健康。当我尝试跑步时
val clusters = KMeans.train(parsedData, numClusters, numIterations)
我收到 parsedData 的错误消息:“类型不匹配;找到:org.apache.spark.rdd.RDD[Map[String,Any]] required: org.apache.spark.rdd.RDD[org. apache.spark.mllib.linalg.Vector]"
我的解析数据是这样创建的:
val parsedData = dataframe_mysql.map(_.getValuesMap[Any](List("name", "event","execution","info"))).collect().foreach(println)
dataframe_mysql 是从 sqlcontext.read.format("jdbc").option(....) function. 返回的任何内容
我应该如何转换我的单位以适应在火车功能中传递它的要求?
根据文档,我应该使用这样的东西:
data.map(s => Vectors.dense(s.split(' ').map(_.toDouble))).cache()
我是否应该将我的价值观翻倍?因为当我尝试运行上面的命令时,我的项目会崩溃。
谢谢!
【问题讨论】:
标签: mysql scala apache-spark type-mismatch training-data