[英]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.