在python中计算Spark Dataframe列元素的成对距离

2024-10-02 16:32:39 发布

您现在位置:Python中文网/ 问答频道 /正文

我是spark的新手,目前正面临一个问题。我想使用ceja函数jaro_相似度来计算spark dataframe列(包含textuel ngrams)中每个元素之间的距离,我想简单地计算距离,然后将距离得分为>;0.8:

Click to see an example of the spark column with the ngrams

这是我现在写的,但它不起作用,并抛出一个错误:

distance_udf = F.udf(lambda x: ceja.jaro_similarity(x,list_bi , T.FloatType()))

df_bigrams = df_bigrams.withColumn('distances', distance_udf(F.col('bigrams_final') ))

df_bigrams.select('bigrams_final').rdd.map(lambda x: ceja.jaro_similarity(x,list_bi)).take(20)

我认为结合sql和python可以完成这项工作,但我不确定如何实现。有没有人遇到过类似的问题?我非常感谢你的帮助


Tags: thelambda距离dflistsparkfinaldistance