Читать формат даты и времени (2017-01-12t141206) через pyspark - PullRequest
0 голосов
/ 24 апреля 2020

У меня есть требование, где я хочу прочитать столбец, который получает метку времени в формате (2017-01-12t141206) через pyspark. Я попробовал несколько функций, упомянутых на разных форумах, например. strptime, strftime и еще немного, но никто не помог. Может ли кто-нибудь PLS направить меня с соответствующей информацией? Спасибо!

1 Ответ

0 голосов
/ 25 апреля 2020

Используйте .to_timestamp (или) from_unixtime, unix_timestamp функций для этого случая.

Example:

#using to_timestamp function
spark.sql("""select to_timestamp("2017-01-12t141206","yyyy-MM-dd't'HHmmss") as ts""").show()

#or using from_unixtime, unix_timestamp,cast(timestamp) functions
spark.sql("""select timestamp(from_unixtime(unix_timestamp("2017-01-12t141206","yyyy-MM-dd't'HHmmss"),"yyyy-MM-dd HH:mm:ss")) as ts""")

#or using unix_timestmap, cast to timestamp
spark.sql("""select timestamp(unix_timestamp("2017-01-12t141206","yyyy-MM-dd't'HHmmss")) as ts""").show()

#+-------------------+
#|                 ts|
#+-------------------+
#|2017-01-12 14:12:06|
#+-------------------+
...