我正在Pyspark工作。
我有一个专栏end_date
,我想做一些工作。但我不能因为他的类型:OffsetDateTimeUdt
。
可以在日期或字符串中转换此类型吗?
价值的实例:2021-08-15T00:00:00.000Z
如果您有任何想法,请告诉我:)
提前致谢
答案 0 :(得分:0)
通过忽略以下毫秒数来转换为时间戳
x = spark.createDataFrame([("2021-08-15T00:00:00.000Z",)], ['date_str'])
x.select(x.date_str, from_unixtime(unix_timestamp(x.date_str,"yyyy-MM-dd'T'HH:mm:ss'.000Z'"))).show(truncate=False)
输出:
+------------------------+------------------------------------------------------------------------------------------+
|date_str |from_unixtime(unix_timestamp(date_str, yyyy-MM-dd'T'HH:mm:ss'.000Z'), yyyy-MM-dd HH:mm:ss)|
+------------------------+------------------------------------------------------------------------------------------+
|2021-08-15T00:00:00.000Z|2021-08-15 00:00:00 |
+------------------------+------------------------------------------------------------------------------------------+