【发布时间】:2021-10-14 06:39:49
【问题描述】:
我正在尝试使用 sparklyr 将以下内容转换为 24 小时制:
2021-05-18 9:00:00 PM
我的预期结果:2021-05-18 21:00:00
我试过了:
data %>%
mutate(datetime_24 = to_timestamp("datetime_12", "yyyy-MM-dd hh:mm:ss"))
data %>%
mutate(datetime_24 = to_date("datetime_12", "yyyy-MM-dd hh:mm:ss"))
两者都导致 NULL。
我尝试了以下作为起点并得到了这个错误
data %>%
mutate(datetime_24 = unix_timestamp(datetime_12, "yyyy-MM-dd hh:mm:ss"))
升级 Spark 3.0 可能会导致不同的结果:失败 在新解析器中解析“2021-05-18 9:00:00 PM”。你可以设置 spark.sql.legacy.timeParserPolicy 到 LEGACY 以恢复行为 在 Spark 3.0 之前,或设置为 CORRECTED 并将其视为无效 日期时间字符串。
我也在 pyspark 中尝试了以下操作,但遇到了类似的错误:
from pyspark.sql.functions import from_unixtime, unix_timestamp, col
df_time = spark.table("data")
df_time_new = df_time.withColumn('datetime_24', \
from_unixtime(unix_timestamp(col(('datetime_12')), "yyyy-mm-dd hh:mm:ss"), "yyyy-mm-dd HH:mm:ss"))
错误:
升级 Spark 3.0 可能会导致不同的结果:失败 在新解析器中解析“2021-05-18 9:00:00 PM”。你可以设置 spark.sql.legacy.timeParserPolicy 到 LEGACY 以恢复行为 在 Spark 3.0 之前,或设置为 CORRECTED 并将其视为无效 日期时间字符串。引起:DateTimeParseException:文本'2021-05-18 9:00:00 PM' 无法在索引 11 处解析
【问题讨论】:
标签: python r apache-spark pyspark sparklyr