通过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 数据框 UDF 异常处理

PySpark 从目录中读取多个 txt 文件为 json 格式

pyspark 读取格式 jdbc 生成 ORA-00903: invalid table name 错误

对从 Quickbase 解析的列应用日期时间操作,以在 pyspark 数据块中获取正确的日期时间格式

pyspark 使用动态日期范围读取镶木地板文件分区数据