Python 在数据帧的所有行上应用LSH ApproxNearest邻居
我试图在一个数据帧的所有行上应用BucketedRandomProjectionLSH的函数Python 在数据帧的所有行上应用LSH ApproxNearest邻居,python,apache-spark,pyspark,lsh,Python,Apache Spark,Pyspark,Lsh,我试图在一个数据帧的所有行上应用BucketedRandomProjectionLSH的函数model.approxNearestneights(df,key,n),以便为每个项找到前n个最相似的项。我的数据帧有一百万行 我的问题是,我必须找到一种在合理时间内(不超过2小时)计算它的方法。我已经读过关于函数approxSimilarityJoin(df,df,threshold)的内容,但是函数太长,没有返回正确的行数:如果我的数据帧有100.000行,并且我设置了一个非常高/允许的阈值,我得到
model.approxNearestneights(df,key,n)
,以便为每个项找到前n个最相似的项。我的数据帧有一百万行
我的问题是,我必须找到一种在合理时间内(不超过2小时)计算它的方法。我已经读过关于函数approxSimilarityJoin(df,df,threshold)的内容,但是函数太长,没有返回正确的行数:如果我的数据帧有100.000行,并且我设置了一个非常高/允许的阈值,我得到的行数甚至不到返回行数的10%
因此,我考虑在所有行上使用approxnearestneights
,这样计算时间几乎是线性的
如何将该函数应用于数据帧的每一行?我不能使用UDF,因为我需要模型+数据帧作为输入
你有什么建议吗