2016-08-02 10 views
6

Ich hoffe, es gibt eine offensichtliche Antwort auf diese Frage!Scala Fall Klasse ignoriert Import in der Spark-Shell

Ich habe gerade auf Spark v2.0 aktualisiert und habe ein seltsames Problem mit der Spark-Shell (Scala 2.11 Build).

Wenn ich die folgenden minimalen Scala eingeben,

import java.sql.Timestamp 

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

ich folgende Fehlermeldung erhalten,

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

Wenn ich die Java Timestamp Klasse an anderer Stelle, zum Beispiel In einer Funktion werden dann keine Fehler generiert (wie Sie es aufgrund des Imports erwarten würden).

Wenn ich vollständig qualifizieren und java.sql.Timestamp in der Fallklasse verwenden, funktioniert es!

Fehle ich etwas offensichtlich?

+0

ich das gleiche Problem innerhalb Zeppelin haben. Wie reparierst du es dort? – wrschneider

Antwort

7

Es ist nur so, dass der Zeitstempel nicht in dem Fall, Klassendeklaration geladen wird, um dieses Problem beheben können Sie:

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

oder

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

Danke! Das habe ich gemacht, aber es hat früher in der 1.6-Shell funktioniert ... Weißt du, was sich geändert hat? –

+0

Sie haben recht, ich bin mir nicht sicher, warum sich das geändert hat ... – Mikel

+0

Wie beheben Sie das in Zeppelin? – wrschneider