Я пытаюсь создать Spark DataFrame с нуля для целей тестирования.
Дело в том, что я хочу столбец даты, и для этого я использую java.sql.Date
, например:
val testSchema = List(
StructField("test_string", StringType, true),
StructField("test_date", DateType, true)
)
val testData = Seq(
Row("hello", new java.sql.Date(2019 - 1900, 9, 29)),
Row("world", new java.sql.Date(2019 - 1900, 7, 30))
)
val testDF = spark.createDataFrame(
spark.sparkContext.parallelize(testData),
StructType(testSchema)
)
Это делает работу, но java.sql.Date
устарело, поэтому япробовал с java.time.LocalDate
и с java.util.Date
(создание его экземпляра напрямую и получение его из java.util.GregorianCalendar
), получая оба раза один и тот же результат:
Причина: java.lang.RuntimeException: java. util.Date не является допустимым внешним типом для схемы даты
и
. Причина: java.lang.RuntimeException: java.time.LocalDate не является допустимымвнешний тип для схемы даты
Так что же является правильным заменой для java.sql.Date
, которая соответствует схеме DateType
?