Spark sql - Pyspark строка для преобразования даты - PullRequest
0 голосов
/ 07 июня 2018

У меня есть столбец с данными 20180501 в строковом формате, я хочу преобразовать его в формат даты, пробовал использовать

to_date(cast(unix_timestamp('20180501', 'YYYYMMDD') as timestamp))'

, но все равно это не сработало.Я использую Spark SQL с фреймами данных

Ответы [ 2 ]

0 голосов
/ 07 июня 2018

Как указано в другом ответе, используемый вами формат неверен.Но вы также можете использовать to_date напрямую:

spark.sql("SELECT to_date('20180501', 'yyyyMMdd')").show()
+-------------------------------+
|to_date('20180501', 'yyyyMMdd')|
+-------------------------------+
|                     2018-05-01|
+-------------------------------+
0 голосов
/ 07 июня 2018

Формат должен быть yyyyMMdd:

spark.sql("SELECT to_date(cast(unix_timestamp('20180501', 'yyyyMMdd') as timestamp))").show()
# +------------------------------------------------------------------+
# |to_date(CAST(unix_timestamp('20180501', 'yyyyMMdd') AS TIMESTAMP))|
# +------------------------------------------------------------------+
# |                                                        2018-05-01|
# +------------------------------------------------------------------+
...