直接df.withColumn(“time”,“201905”) 会报错,说没有引用其他列值
方法一: 之前一直用的 df.withColumn(“time”,col(“age”)-col(“age”)+201905)的变种方式
方法二:或者 df.rdd.map(lambda x:(x[0],x[1],x[2],“201905”)).toDF([“name”,“sex”,“age”,“time”])的rdd方式
方法三:最近发现一个sql.functions.lit()函数,直接返回的是字面值
环境spark 2.3.1 zeppelin %pyspark python 2.7
from pyspark.sql.functions. import *
df=df.withColumn("time","201905") #这样就增加一列time,值全为201905字符串了