2016-11-19 46 views

回答

1

在一般情況下,我認爲你有正確的觀念,所以我這裏的建議只是語法糖:

df 
.map{row => (row(0), row(1), row(2), (3 until row.length).map(row.getLong(_)).sum)} 
0

使用下面的代碼解決了這個問題。但是我還在原地尋找更短的答案可能是語法糖..

df.map(x => { 
     var sum :Long = 0 
     for (i <- 3 until x.length) 
     sum = sum + x(i).asInstanceOf[Long] 
     (x(0) ,x(1) ,x(2) ,sum) 
     }).collect() 
相關問題