2つのドキュメントのコレクションがあります。私は、k1は最初のコレクションからの文書である場合、k2は第二から1であり、cは、それらの間のコサイン類似度であるコサイン類似度を実行するときのPysparkフィルタの上位3つの一致
(k1,(k2,c))
をデカルト積の各ペア間のコサイン類似度を計算し、フォームのRDD
を持っています。私は最初のコレクションの各ドキュメントk1について、2番目のコレクションと最も類似している3つのドキュメントを取得することに興味があります。私はキーでグループを演奏しました:
grouped = (pairRddWithCosine
.groupByKey()
.map(lambda (k, v): (k, sorted(v, key=lambda x: -x[1])))
.map(lambda (x,y): (x, y[0][0],y[0][1], y[1][0], y[1][1], y[2][0] , y[2][1]))
)
このグループは非常に悪いです。どうすればそれを調整することができますか、それともデータをシャッフルしないものを使用するかを教えてください。
素晴らしい宿題。何を試しましたか? – eliasah