【发布时间】:2019-09-20 21:15:10
【问题描述】:
我在 pyspark 中有一个非常简单的数据框,如下所示:
from pyspark.sql import Row
from pyspark.mllib.linalg import DenseVector
row = Row("a", "b")
df = spark.sparkContext.parallelize([
offer_row(DenseVector([1, 1, 1]), DenseVector([1, 0, 0])),
]).toDF()
我想在不使用 UDF 调用的情况下计算这些向量的点积。
spark MLLIB documentation 在 DenseVectors 上引用了 dot 方法,但如果我尝试如下应用:
df_offers = df_offers.withColumn("c", col("a").dot(col("b")))
我收到如下错误:
TypeError: 'Column' object is not callable
有谁知道这些 mllib 方法是否可以在 DataFrame 对象上调用?
【问题讨论】:
标签: python apache-spark pyspark apache-spark-mllib