2016-03-30 95 views
4

我想使用的功能columnSimilarities(),computeColumnSummaryStatistics()無法訪問RowMatrix方法PySpark: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' object has no attribute 'computeColumnSummaryStatistics'

AttributeError: 'RowMatrix' object has no attribute 'columnSimilarities'

每次我運行的功能。

這是PySpark的問題,而不是Scala Spark?我也無法通過谷歌搜索找到RowMatrix功能的頁面。

謝謝

回答

2

,你不能訪問這些方法因爲現在(星火1.6),這些未在PySpark實現。

IndexedRowMatrix.columnSimilarities(請參閱SPARK-12041)在當前的主控制器中可用,但要使用它,您必須從源代碼創建Spark。

+0

好的,謝謝。我沒有從源代碼構建。 – user1340048

+0

這種方法只適用於IndexedRowMatrix嗎?或者也可用於RowMatrix? – user1340048

+0

只有'IndexedRowMatrix',但它不應該很難讓這個代碼在'RowMatrix'上工作。 – zero323