scala.reflect.internal.Types $ TypeError:方法映射的参数不够:

时间:2018-06-15 18:03:24

标签: scala apache-spark

此案例类(已在多个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。

这似乎没有在网上很好地记录。任何提示深受赞赏

0 个答案:

没有答案