作为Pyspark的新手,我遇到了一个将Python变量传递到Spark命令中的问题。我需要在有火花的情况下改变年份,所以我有一个变量CurrentYear = '2022'
。在spark中,我想将一列与该值进行比较,所以类似
.withColumn('IsCurrentYear',when(col('ColumnName') == CurrentYear, lit('Y')) .otherwise(Lit('n')))
我试过我能想到的每一种结构(星号、花括号等(,显然除了正确的。
有简单的方法吗?
感谢
lit('{CurrentYear}')
{CurrentYear}
*CurrentYear
这些都没有成功
只有lit(CurrentYear)
可以工作,这相当于lit('2022')
CurrentYear = '2022'
.withColumn('IsCurrentYear',when(col('ColumnName') == lit(CurrentYear), lit('Y')).otherwise(lit('n')))