Pyspark - 将字符串转换为时间戳 - 获取空值
Pyspark -Convert String to TimeStamp - Getting Nulls
我将以下列作为数据框 df 中的字符串:
date|
+----------------+
|4/23/2019 23:59|
|05/06/2019 23:59|
|4/16/2019 19:00
我正在尝试将其转换为时间戳,但我只得到 NULL 值。
我的说法是:
from pyspark.sql.functions import col, unix_timestamp
df.withColumn('date',unix_timestamp(df['date'], "MM/dd/yyyy hh:mm").cast("timestamp"))
为什么我只得到 Null 值?是不是因为月份格式(因为我在 05 上额外设置了 0)?
谢谢!
24 小时格式的模式是 HH
,hh
是上午/下午。
https://docs.oracle.com/javase/tutorial/i18n/format/simpleDateFormat.html
df \
.withColumn('converted_date', psf.to_timestamp('date', format='MM/dd/yyyy HH:mm')) \
.show()
+----------------+-------------------+
| date| converted_date|
+----------------+-------------------+
| 4/23/2019 23:59|2019-04-23 23:59:00|
|05/06/2019 23:59|2019-05-06 23:59:00|
| 4/16/2019 19:00|2019-04-16 19:00:00|
+----------------+-------------------+
有无前导0
无所谓
我将以下列作为数据框 df 中的字符串:
date|
+----------------+
|4/23/2019 23:59|
|05/06/2019 23:59|
|4/16/2019 19:00
我正在尝试将其转换为时间戳,但我只得到 NULL 值。
我的说法是:
from pyspark.sql.functions import col, unix_timestamp
df.withColumn('date',unix_timestamp(df['date'], "MM/dd/yyyy hh:mm").cast("timestamp"))
为什么我只得到 Null 值?是不是因为月份格式(因为我在 05 上额外设置了 0)?
谢谢!
24 小时格式的模式是 HH
,hh
是上午/下午。
https://docs.oracle.com/javase/tutorial/i18n/format/simpleDateFormat.html
df \
.withColumn('converted_date', psf.to_timestamp('date', format='MM/dd/yyyy HH:mm')) \
.show()
+----------------+-------------------+
| date| converted_date|
+----------------+-------------------+
| 4/23/2019 23:59|2019-04-23 23:59:00|
|05/06/2019 23:59|2019-05-06 23:59:00|
| 4/16/2019 19:00|2019-04-16 19:00:00|
+----------------+-------------------+
有无前导0
无所谓