如何创建新的字符串列从 Spark 中的时间戳中提取整数?

How to create new string column extracting integers from a timestamp in Spark?

我有一个带有时间戳列的 spark 数据框,我想要一个包含 "YYYYMM".

格式字符串的新列

我试过:

df.withColumn('year_month',year(col("timestamp")).cast("string")+month(col("timestamp")).cast("string"))

但是如果我的时间戳是 2016-10-12,它 returns 2020 年 YYYYMM。

您可以使用 date_format:

from pyspark.sql.functions import date_format
df.withColumn('year_month', date_format('timestamp', 'yyyyMM'))