通过pyspark读取日期时间格式(2017-01-12t141206)
Posted
技术标签:
【中文标题】通过pyspark读取日期时间格式(2017-01-12t141206)【英文标题】:To read date time format( 2017-01-12t141206) through pyspark 【发布时间】:2020-04-24 20:20:13 【问题描述】:我有一个要求,我想通过 pyspark 读取一个以格式(2017-01-12t141206)获取时间戳的列。我尝试了不同论坛上提到的几个功能,例如。 strptime、strftime 等等,但没有任何帮助。有人可以指导我提供相关信息吗?谢谢!
【问题讨论】:
【参考方案1】:在这种情况下使用 .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|
#+-------------------+
【讨论】:
我投了赞成票,但在这个论坛上,需要 15 的声望才能公开更改计数。以上是关于通过pyspark读取日期时间格式(2017-01-12t141206)的主要内容,如果未能解决你的问题,请参考以下文章
PySpark 从目录中读取多个 txt 文件为 json 格式
pyspark 读取格式 jdbc 生成 ORA-00903: invalid table name 错误