![](/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.