【发布时间】:2021-12-27 14:10:34
【问题描述】:
我有变量,例如:
val loadingDate: = LocalDateTime.of(2020, 1, 2, 0, 0, 0)
我需要使用这个变量的值添加一个额外的列。
当我尝试这样做时:
val formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss")
DF.withColumn("dttm", expr(s"$loadingDate.format(formatter)}").cast("timestamp"))
我收到这样的错误:
Exception in thread "main" java.lang.reflect.InvocationTargetException
Caused by: org.apache.spark.sql.catalyst.parser.ParseException
mismutched input '00' expecting <EOF>(line 1, pos 11)
==SQL==
2020-01-02 00:00:00
-------------^^^
我可以使用 LocalDateTime 类型的变量在 Spark 中添加额外的列吗?还是我必须使用其他类型?
我需要从外部系统获取日期并在 Spark 中使用该日期。我怎样才能以最好的方式做到这一点?使用哪些类型?
【问题讨论】:
-
看看静态函数,可能会更简单。抱歉,对 Scala 不太熟悉。
标签: scala apache-spark date datetime timestamp