1

有没有办法将具有 4 位数年份值的列转换为 DATE 类型并让它在 Foundry 中显示?

现在,我正在处理一个名为的列year,其中包含以下值:1999, 2001, 2010并且它的类型是字符串。

当我编写代码将其转换为日期时,它会将 4 位数年份转换为 10 位数年份、月份和日期,如下所示2010-01-01

这是我尝试过的一些代码:

  1. df = df.withColumn('year_mfr', F.trunc(df.year_mfr, 'yyyy'))
  2. df = df.withColumn('year_mfr', F.to_date(df.year_mfr, 'yyyy'))
4

1 回答 1

1

spark 中的日期类型定义为 10 位数的年月日,因此很遗憾无法截断它......

https://spark.apache.org/docs/1.5.0/api/java/org/apache/spark/sql/types/DateType.html

解决方法是将年份转换为整数。

于 2020-09-24T21:46:25.993 回答