Scala 案例 class 忽略 Spark 中的导入 shell

Scala case class ignoring import in the Spark shell

我希望这个问题有一个明显的答案!

我刚刚升级到 Spark v2.0,spark-shell(Scala 2.11 版本)有一个奇怪的问题。

如果我输入以下最小 Scala,

import java.sql.Timestamp

case class Crime(caseNumber: String, date: Timestamp, description: String, detail: String, arrest: Boolean)

我收到以下错误,

<console>:11: error: not found: type Timestamp

如果我在别处使用 Java Timestamp class,例如在一个函数中,则不会生成错误(正如您所期望的那样,因为导入)。

如果我完全合格并在 class 的情况下使用 java.sql.Timestamp 它有效!

我是不是遗漏了什么明显的东西?

只是在 case class 声明中没有加载时间戳,要解决此问题,您可以:

:paste
import java.sql.Timestamp
case class Crime(caseNumber: String, date: Timestamp, description: String, detail: String, arrest: Boolean)

case class Crime(caseNumber: String, date: java.sql.Timestamp, description: String, detail: String, arrest: Boolean)