PySparkで追加したカラムにリテラル値を追加する

+---+
| id|
+---+
|  1|
|  2|
|  3|
+---+

このデータに対して年月日のカラムを追加します。

from pyspark.sql.functions import lit

df = spark.createDataFrame([1, 2, 3],"integer").toDF("id")

year = 2020
month = 11
day = 23
df = df.withColumn("year", lit(year))
df = df.withColumn("month", lit(format(month, "02d")))
df = df.withColumn("day", lit(format(day, "02d")))

df.show()

単純に値を追加出来ないのでfunctionsのlitメソッドを使って値を追加します。今回は0埋めするためにformatを使用しました。

+---+----+-----+---+
| id|year|month|day|
+---+----+-----+---+
|  1|2020|   11| 23|
|  2|2020|   11| 23|
|  3|2020|   11| 23|
+---+----+-----+---+