无法在 pyspark 中格式化时间戳

Unable to format timestamp in pyspark

我有一个 CSV 数据如下:

time_value,annual_salary
5/01/2019 1:02:16,120.56
06/01/2019 2:02:17,12800
7/01/2019 03:02:18,123.00
08/01/2019 4:02:19,123isdhad  

现在,我想转换为 timestamp 列。因此,我从这些记录中创建了一个视图并尝试对其进行转换,但它引发了一个错误:

spark.sql("select to_timestamp(time_value,'M/dd/yyyy H:mm:ss') as time_value from table")  

Error:

Text '5/1/2019 1:02:16' could not be parsed

我试过你的SQL没问题。可能是spark版本的问题。我用的是2.4.8

根据我在那里看到的错误,这是关于日期格式问题。

无法解析文本 '5/1/2019 1:02:16'

但是你的时间格式是这样指定的

'M/dd/yyyy H:mm:ss'

您可以看到 day-specific 是 /1/ 但您的格式是 dd,需要两位数。

请尝试以下格式:

'M/d/yyyy H:mm:ss'