Spark和Scala代码

Spark和Scala代码,scala,apache-spark,Scala,Apache Spark,有人能帮我吗? 我对Spark和Scala是新手。 我发现这段代码有一些问题: def formatRow (x) = Distance( x.getAs[String]("id"), distanceTo( x.getAs[Double]("pickup_latitude"), x.getAs[Double]("pickup_longitude"), x.getAs[Double]("dropoff_latitude"),

有人能帮我吗? 我对Spark和Scala是新手。 我发现这段代码有一些问题:

def formatRow (x) = Distance(
    x.getAs[String]("id"),
    distanceTo(
        x.getAs[Double]("pickup_latitude"), 
        x.getAs[Double]("pickup_longitude"),
        x.getAs[Double]("dropoff_latitude"),
        x.getAs[Double]("dropoff_longitude")
    )
)
我得到的信息是:

“:”应为“”,但找到“(”


但是我不知道在哪里。谢谢。

您应该在
格式行中指明x的类型:

def formatRow(x: Row) = Distance(x.getAs[String]("id"),  distanceTo(x.getAs[Double]("pickup_latitude"),x.getAs[Double]("pickup_longitude"),x.getAs[Double]("dropoff_latitude"),x.getAs[Double]("dropoff_longitude")))

谢谢你的回答,但我又遇到了一个错误,但这次是关于getAs和字符串的。这是另一个不同的问题。你应该检查API中的@IngridJesus行。当谈论错误时,请始终包含准确的错误文本。如果没有它,帮助会更加困难。
距离的定义在这里会很有用还有。@puhlen case class Distance(id:String,Distance:Double)在另一行def formatRow x=Distance(x.getAs[String](“id”)、Distance to(x.getAs[Double](“拾取经度”)、x.getAs[Double](“拾取经度”)、x.getAs[Double](“衰减经度”))错误:值getAs不是字符串的成员。