2016-10-22 39 views

回答

1

火花對RDD主要有兩種類型的操作:

  1. 變換:取輸入作爲RDD和輸出作爲RDD

  2. 操作:取輸入RDD並返回一個Scala的集合。

你在做什麼錯在這裏是你正試圖將RDD轉換成Array直接。這是不能做到的,因此你需要首先應用Action來得到scala Collection的輸出結果。

因此,你可以通過添加一個動作,使這項工作:

val Average_Age = 
value2 
    .groupBy(_._2._1) 
    .mapValues(Sum_Age=>mean1(Sum_Age.map(_._2._2))).collect 
    .toArray 

P.S:該代碼是沒有測試!

2

我不知道你是多麼熟悉的Spark與RDDS(彈性分佈式數據集)的工作,但如果你沒有,some reading將是很有益。

您的情況問題是RDD不再支持直接調用toArray();您應該改用.collect()

相關問題