Я преобразую несколько строковых столбцов в столбцы даты и времени, но сталкиваюсь со следующими проблемами:
Пример столбца 1:
1/11/2018 9:00:00 AM
Код:
df = df.withColumn(df.column_name, to_timestamp(df.column_name, "MM/dd/yyyy hh:mm:ss aa"))
Это хорошо работает
Пример столбца 2:
2019-01-10T00:00:00-05:00
Код:
df = df.withColumn(df.column_name, to_date(df.column_name, "yyyy-MM-dd'T'HH:mm:ss'-05:00'"))
Это хорошо работает
Пример столбца 3:
20190112
Код:
df = df.withColumn(df.column_name, to_date(df.column_name, "yyyyMMdd"))
Это не работает. Я получаю эту ошибку:
AnalysisException: "cannot resolve 'unix_timestamp(t.`date`,
'yyyyMMdd')' due to data type mismatch: argument 1 requires (string or
date or timestamp) type, however, 't.`date`' is of int type.
Я чувствую, что все должно быть просто, но я что-то упускаю.