#pyspark #apache-spark-sql
Вопрос:
Я новичок в Писпарке
Я пытаюсь преобразовать строку со значением 22 июня 2021 года в 1:04 вечера в метку времени, используя приведенный ниже блок кода, но его значение равно нулю, где, как показано, тип данных-метка времени
df = df.withColumn("date", F.from_unixtime(F.unix_timestamp("date","MMM d, yyyy hh:mm:ss a"),'yyyy-MM-dd').cast('timestamp'))
Ответ №1:
У date
вас есть формат MMM d yyyy hh:mmaa
Для преобразования строки, подобной приведенному выше формату. Сделайте, как показано ниже
from pyspark.sql import functions as f
df.withColumn("date_2", f.from_unixtime(f.unix_timestamp("date", 'MMM d yyyy hh:mmaa'),'MM-dd-yyyy HH:mm:ss')).show()
Ответ №2:
попробуйте вот это:
df=df.withColumn("date", from_unixtime(unix_timestamp(col("date"), "MMM d, yyyy hh:mm:ss a"),"yyyy-MM-dd")).show(false)
Комментарии:
1. Эй, я уже пробовал описанный выше метод, он делает значения НУЛЕВЫМИ, есть ли что-нибудь, что я могу попробовать ?