在 PySpark 中无法访问 RowMatrix 方法:columnSimilarities(),computeColumnSummaryStatistics()。

4

我正在尝试使用columnSimilarities()和computeColumnSummaryStatistics()函数。

  • 特别关注在此文章中提到的columnSimilarities()函数:

https://databricks.com/blog/2014/10/20/efficient-similarity-algorithm-now-in-spark-twitter.html

我正在使用来自mlib的稀疏向量列表。

sparse_vectors = []

for cust, group in df.groupby(0):

    i_v = zip(group[1].values, group[2].values)
    i_v = sorted(i_v)
    indices = [x[0] for x in i_v]
    values = [x[1] for x in i_v]
    sparse_vectors.append(Vectors.sparse(len(df[1].unique()), indices, values))

rows = sc.parallelize(sparse_vectors)
mat = RowMatrix(rows)

我遇到了以下错误: AttributeError: 'RowMatrix'对象没有属性'computeColumnSummaryStatistics' 或者 AttributeError: 'RowMatrix'对象没有属性'columnSimilarities'
每次运行这些函数都会出现这些错误。
这是 PySpark 的问题,而不是 Scala Spark 的问题吗?我在谷歌搜索中也找不到 RowMatrix 函数的页面。
谢谢。
1个回答

2

目前(Spark 1.6),这些方法尚未在PySpark中实现,因此您无法访问它们。

IndexedRowMatrix.columnSimilarities(请参见SPARK-12041)在当前的master分支中可用,但要使用它,您必须从源代码构建Spark。


这个方法只适用于IndexedRowMatrix吗?还是也适用于RowMatrix? - GreatGather
仅限于IndexedRowMatrix,不过将这段代码应用到RowMatrix上也应该不难。 - zero323

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接