pyspark将dataframe列从timestamp转换为" YYYY-MM-DD"格式

时间:2018-02-21 16:13:21

标签: apache-spark pyspark

在pyspark中有一种方法可以将timestamp数据类型的数据帧列转换为格式为' YYYY-MM-DD'的字符串。格式?

3 个答案:

答案 0 :(得分:4)

您可以使用date_format功能,如下所示

from pyspark.sql.functions import date_format

df.withColumn("dateColumn",  date_format(col("vacationdate"), "yyyy-MM-dd"))

希望这有帮助!

答案 1 :(得分:4)

如果您的列schema

root
 |-- date: timestamp (nullable = true)

然后,您可以在将时间戳转换为 bigInt <后,使用from_unixtime函数将时间戳转换为字符串 / em>使用unix_timestamp函数作为

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

你应该

root
 |-- date: string (nullable = true)

答案 2 :(得分:-2)

from pyspark.sql.functions  import date_format

df.withColumn("DateOnly", date_format('DateTime', "yyyy-MM-dd")).show()