无法在 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'
我有一个 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'