【发布时间】:2019-09-02 15:34:01
【问题描述】:
我有一个 DF,其中包含一个名为“data”的字符串列,格式为 02/09/2019 (dd/MM/yyyy)。我想将列的数据类型从 STRING 更改为 DATE,保持相同的格式。我正在使用 Spark 2.1.0。
我已经尝试过声明:
df.select(to_date( unix_timestamp($"data", "dd/MM/yyyy").cast("timestamp")))
它将列从 STRING 转换为 DATE,但格式为 yyyy-MM-dd:
+----------+
| data|
+----------+
|2003-07-22|
|2003-08-01|
+----------+
使用 date_format 函数,我获得了正确的格式但错误的数据类型(再次为 STRING):
df.select(date_format(to_date( unix_timestamp($"data", "dd/MM/yyyy").cast("timestamp")), "dd/MM/yyyy") as "data").printSchema()
非常感谢。
【问题讨论】:
标签: scala date dataframe apache-spark