1. 在DataFrame中使用
使用 udf 装饰器
from pyspark.sql.functions import udffrom pyspark.sql.types import ArrayType,StringType,IntegerType,DoubleType,FloatType,BooleanType# 余弦相似度计算from scipy import spatial@udf(returnType=FloatType())def sim(x,y):return float(1-spatial.distance.cosine(x, y))
2. 在sql中使用
使用注册方式
def interest(col):result = -1 if col==0 else 1return resultspark.udf.register("interest", interest)
