1. udf 定义
def udf_test(column1, column2):
if column1 == column2:
return column1
else:
return column2
apply_test = udf(udf_test, StringType())
df = df.withColumn('new_column', apply_test('column1', 'column2'))
2. 带固定变量的udf定义
def generate_udf(constant_var):
def test(col1, col2):
if col1 == col2:
return col1
else:
return col2
return f.udf(test, StringType())
df = df.withColumn('new_column',
generate_udf('default_value')(f.col('col1'), f.col('col2')))