![](/img/trans.png)
[英]No implicits found for parameter evidence$2: BodyWritable[Map[String, Object]]
[英]No implicits found for parameter evidence
我在 scala 应用程序中有一行代码,该应用程序采用具有一列和两行的 dataframe ,并将它们分配给变量start
和end
:
val Array(start, end) = datesInt.map(_.getInt(0)).collect()
此代码在 REPL 中运行时工作正常,但是当我尝试在 Intellij 中的 scala object 中放入同一行时,它会在.collect()
语句之前插入一个灰色(?: Encoder[Int])
,并显示一个内联错误No implicits found for parameter evidence$6: Encoder[Int]
我对 scala 很陌生,我不知道如何解决这个问题。
Spark 需要知道如何序列化 JVM 类型以将它们从工作人员发送到主机。 在某些情况下,它们可以自动生成,并且对于某些类型,Spark 开发人员会编写显式实现。 在这种情况下,您可以隐式传递它们。 如果您的SparkSession
被命名为spark
,那么您会错过以下行:
import spark.implicits._
由于您是 Scala 的新手:implicits 是您不必显式传递的参数。 在您的示例map
function 需要Encoder[Int]
。 通过添加此导入,它将包含在 scope 中,从而自动传递给map
function。
查看Scala 文档以了解更多信息。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.