2015-07-09 23 views
10

Ich möchte schreiben RDD zu MYSQL, die RDD enthält java.util.Date Typ.java.util.Date wird nicht unterstützt

rdd.map(f=> FeatureData(
      f.get("name").toString, 
      f.get("value").toString.toDouble, 
      f.get("time").asInstanceOf[Date], 
      f.get("period").toString)) 
    .toDF() 

In diesem RDD der Schlüssel time ‚Werttyp s ist auch java.util.Date und bekommen es nur den Fehler [See nested exception: java.lang.UnsupportedOperationException: Schema for type java.util.Date is not supported

+2

Versuchen Sie es in 'java.sql.Date' Umwandlung – Dragondraikk

+0

Wenn ich' f.get gesetzt ("Zeit") asInstanceOf [java.sql.Date] ', Es wird die Fehlermeldung erhalten, dass. 'java.util.Date kann nicht in java.sql.Date' umgewandelt werden – yeyimilk

+1

Sie können es nicht direkt umwandeln, aber sobald Sie ein sql.Date haben, können Sie ein util.Date instanziieren, indem Sie manuell aus den sql.Date-Feldern lesen –

Antwort

16

Zuerst java.util.Date zu java.sql konvertieren. Datum. Führen Sie dann Ihre SQL mit den Daten java.sql.Date. Beispielcode:

java.util.Date utilDate = new java.util.Date(); 
java.sql.Date sqlDate = new java.sql.Date(utilDate.getTime()); 
Verwandte Themen