簡體   English   中英

未找到參數證據的隱含

[英]No implicits found for parameter evidence

我在 scala 應用程序中有一行代碼,該應用程序采用具有一列和兩行的 dataframe ,並將它們分配給變量startend

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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM