我正在尝试将String转换为Spark数据帧中的DateType。
日期字符串的格式为日期时间,如“yyy-MM-dd HH:mm:ss.SSS”
我正在进行“creationdate”转换,如:
val df2 = df.withColumn("creationdate2", $"creationdate".cast(DateType))
.drop($"creationdate")
.withColumnRenamed("creationdate2", "creationdate")
从表面上看,这似乎有效,字符串会丢失其小时/分钟/秒数据,并在printSchema()上显示为“date”。当我从数据框中提取vaue并获取类型时,我看到它是java.sql.date而不是spark sql DateType。这一切似乎都很好但是当我将数据传输到目的地Elastic Search时,它抱怨无法解析日期数据。这让我相信我的字符串到DateType的转换是不正确的。帮助
我使用type conversion table here作为参考将其提供给弹性搜索。