簡體   English   中英

如何將一組向量求和並在Spark中產生一個新向量

[英]How do I sum a set of vectors and produce a new vector in Spark

我正在使用Spark的Java API,並使用以下模式讀取大量數據:

profits (Array of Double values):
--------------------------------- 
[1.0,2.0,3.0] 
[2.0,3.0,4.0] 
[4,0,6.0]

有了數據框后,我想計算一個新的向量,它是所有向量的總和:

Result:
[7.0,11.0,7.0]

我在網上看到了一些在Scala和Python中執行此操作的示例,但對於Java沒有任何示例。

val withIndex = profits.zipWithIndex // ((a,0),(b,1),(c,2))

我們需要使用索引作為鍵:

val indexKey = withIndex.map{case (k,v) => (v,k)}  //((0,a),(1,b),(2,c))

最后,

counts = indexKey.reduceByKey(lambda k, v: k + v)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM