使用udfs和udfs的两列pyspark之间的欧氏距离

qhhrdooz  于 2021-05-27  发布在  Spark
关注(0)|答案(0)|浏览(384)

我编写了一个代码来计算udf格式列之间的欧几里德距离:

distance_udf = F.udf(lambda x,y: float(distance.euclidean(x, y)),FloatType())

我使用此代码一次计算多个列对之间的距离:

df = df.select([distance_udf(F.col('scaledFeatures'),F.col(col)) for col in cols2traverse])

但是这个代码非常慢。我读到Pandas自定义项可以使这更快。如果我在这些列上打印模式时得到的类型是“vector”,那么关于如何将这个udf转换成udf有什么帮助吗?我使用的是pyspark 2.3

暂无答案!

目前还没有任何答案,快来回答吧!

相关问题