con*_*das 6 python apache-spark pyspark lsh
我正在尝试将 BucketedRandomProjectionLSH 的函数model.approxNearestNeighbors(df, key, n)应用于数据帧的所有行,以便大约找到每个项目的前 n 个最相似的项目。我的数据框有 100 万行。
我的问题是我必须找到一种方法在合理的时间内(不超过2小时)计算它。我已经读过该函数,approxSimilarityJoin(df, df, threshold)但该函数花费的时间太长,并且没有返回正确的行数:如果我的数据帧有 100.000 行,并且我设置了一个非常高/宽松的阈值,我会得到甚至不到 10% 的结果返回的行数。
因此,我正在考虑approxNearestNeighbors在所有行上使用,以便计算时间几乎是线性的。
如何将该函数应用于数据帧的每一行?我无法使用 UDF,因为我需要模型 + 数据帧作为输入。
你有什么建议吗 ?
| 归档时间: |
|
| 查看次数: |
552 次 |
| 最近记录: |