此案例类(已在多个lambda表达式中使用而没有发生事故)
val columnRdd: RDD[(Int, Seq[CellTuple])] = transformLabeledPointRDDToColumnsRdd()
val repartitionedColumnRdd=columnRdd.repartition(100)
val newColRdd:RDD[(Int,Int,Seq[CellTuple])] = repartitionedColumnRdd.zipWithIndex().map
{
case (colAndSeqCt,z) =>
val newseq:Seq[CellTuple]=colAndSeqCt._2.map
{
oldCt =>
CellTuple(z.toInt, oldCt.label, oldCt.value, oldCt.rowId, oldCt.rowPos)
}
(colAndSeqCt._1, z.toInt, newseq)
}
在此方法中引发异常:
CROSS APPLY
Exception消息/ stacktrace真的很长。我认为关键问题是:
键入repartitionedColumnRdd.zipWithIndex()时出现异常.map({
.......没有足够的方法映射参数:(f:Function1,隐式 证据$ 3:scala.reflect.ClassTag)org.apache.spark.rdd.RDD。 [信息] 未指定的值参数证据$ 3。在文件中 /home/jake/project/__workspace/scalaProjects/scalaML/src/main/scala/ikoda/ml/sparse/RDDLabeledPointInternalOperations.scala [错误] scala.reflect.internal.Types $ TypeError:没有足够的参数 对于方法图:(f:Function1,隐式证据$ 3: scala.reflect.ClassTag)org.apache.spark.rdd.RDD。 [INFO]未指定 价值参数证据$ 3。
这似乎没有在网上很好地记录。任何提示深受赞赏