Я преобразование строки в поле даты и время с использованием библиотек joda.time.Datetime, но он бросает неподдерживаемое исключение Вот основной код класса:UnsupportedOperationException Ошибка преобразование строки в DateTime, используя Joda времени
//create new var with input data without header
var inputDataWithoutHeader: RDD[String] = dropHeader(inputFile)
var inputDF1 = inputDataWithoutHeader.map(_.split(",")).map{p =>
val dateYMD: DateTime = DateTimeFormat.forPattern("yyyy-MM-dd HH:mm:ss").parseDateTime(p(8))
testData(dateYMD)}.toDF().show()
р (8) columnn с типом данных DateTime, определенной в TestData и CSV данных класса для столбца имеет значение, например, 2013-02-17 00:00:00
Здесь TestData Класс:
case class testData(StartDate: DateTime) { }
Вот ошибки я получаю:
Исключение в потоке «главный»
java.lang.UnsupportedOperationException: Schema for type org.joda.time.DateTime is not supported
at org.apache.spark.sql.catalyst.ScalaReflection$class.schemaFor(ScalaReflection.scala:153)
at org.apache.spark.sql.catalyst.ScalaReflection$.schemaFor(ScalaReflection.scala:29)
at org.apache.spark.sql.catalyst.ScalaReflection$$anonfun$schemaFor$1.apply(ScalaReflection.scala:128)
at org.apache.spark.sql.catalyst.ScalaReflection$$anonfun$schemaFor$1.apply(ScalaReflection.scala:126)
at scala.collection.TraversableLike$$anonfun$map$1.apply(TraversableLike.scala:244)
at scala.collection.TraversableLike$$anonfun$map$1.apply(TraversableLike.scala:244)
at scala.collection.immutable.List.foreach(List.scala:318)
at scala.collection.TraversableLike$class.map(TraversableLike.scala:244)
at scala.collection.AbstractTraversable.map(Traversable.scala:105)
at org.apache.spark.sql.catalyst.ScalaReflection$class.schemaFor(ScalaReflection.scala:126)
at org.apache.spark.sql.catalyst.ScalaReflection$.schemaFor(ScalaReflection.scala:29)
at org.apache.spark.sql.catalyst.ScalaReflection$class.schemaFor(ScalaReflection.scala:64)
at org.apache.spark.sql.catalyst.ScalaReflection$.schemaFor(ScalaReflection.scala:29)
at org.apache.spark.sql.SQLContext.createDataFrame(SQLContext.scala:361)
at org.apache.spark.sql.SQLImplicits.rddToDataFrameHolder(SQLImplicits.scala:47)
at com.projs.poc.spark.ml.ProcessCSV$delayedInit$body.apply(ProcessCSV.scala:37)
Я хотел бы использовать время Joda и хотел бы знать, где я буду неправильно в преобразование для строки в datetime – rk1113
'org.joda.time.DateTime'! =' java.sql.Timestamp' – zero323
, но где я использую java.sql.Timestamp как в моем основном классе, так и в TestData Class I m, используя joda. time.DateTime? – rk1113