たまに、レコードが持つ変数間でコサイン類似度を計算したい時があるので、備忘として書いておく なお、以下の例で扱うデータは、適当なIDと紐づけられたベクトルをもつデータフレームとする。 from pyspark.mllib.linalg import Vectors data = sc.parallelize([ ("a", Vectors.dense([0, 1, 2])), ("b", Vectors.dense([3, 4, 5])), ("c", Vectors.dense([6, 7, 8])) ]).toDF(["id", "features"]) # 適当に交差結合で組み合わせデータ _data = data.select(col("id").alias("_id"), col("features").alias("_features")) tgt_data = data.cr