Как преобразовать строковый столбец (с 4-значными значениями года) в тип DATE в рабочих книгах Foundry Code?

Есть ли способ преобразовать столбец с 4-значными значениями года в тип DATE и отобразить его как таковой в Foundry?

Прямо сейчас я работаю со столбцом с именем year, который содержит такие значения, как: 1999, 2001, 2010, и его тип — STRING.

Когда я пишу код для преобразования его в дату, он преобразует 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'))

person Adil B    schedule 24.09.2020    source источник


Ответы (1)


Тип даты в spark определяется как 10-значный год, месяц и день, поэтому, к сожалению, его невозможно обрезать...

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

Обходным путем для этого было бы преобразовать год в целое число.

person Andrew St P    schedule 24.09.2020