Spark数据帧中的Python变量



作为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')))

最新更新