У меня есть список имен столбцов, который меняется каждый раз. Имена столбцов хранятся в списке. Итак, мне нужно передать имена столбцов из списка (в приведенном ниже примере их id и programid) для сравнения между исходным и целевым фреймами данных. В приведенном ниже примере я хочу проверить, если src_id == id
и src_programid == programid
.
from pyspark import SparkContext, SparkConf, SQLContext
from pyspark.sql.functions import col, when
srccolumns = ['src_id','src_programid']
tgtcolumns = ['id','programid']
joinSrcTgtAction = joinSrcTgt.withColumn(
'action',
when(
(
(col(src_id) == col(id)) &
(col(src_programid) == col(programid)) &
(joinSrcTgt.src_checksum != joinSrcTgt.checksum)
),
'upsert'
)
)