pyspark将数据帧列从时间戳转换为“ YYYY-MM-DD”格式的字符串

Par*_*kar 6 apache-spark pyspark

在pyspark中,有没有一种方法可以将时间戳数据类型的数据框列转换为格式为'YYYY-MM-DD'的字符串?

Sha*_*ala 7

您可以使用date_format函数,如下所示

from pyspark.sql.functions import date_format

df.withColumn("dateColumn",  date_format(col("vacationdate"), "yyyy-MM-dd"))
Run Code Online (Sandbox Code Playgroud)

希望这可以帮助!


Ram*_*jan 5

如果您有一个带有schemaas 的列

root
 |-- date: timestamp (nullable = true)
Run Code Online (Sandbox Code Playgroud)

然后你可以使用from_unixtime函数来转换时间戳转换后的时间戳BIGINT使用unix_timestamp功能

from pyspark.sql import functions as f
df.withColumn("date", f.from_unixtime(f.unix_timestamp(df.date), "yyyy-MM-dd"))
Run Code Online (Sandbox Code Playgroud)

你应该有

root
 |-- date: string (nullable = true)
Run Code Online (Sandbox Code Playgroud)