2016-04-11 52 views
0

入門火花jobserver我瞭解到的數據幀可以flattend像Spark flattening out dataframes但仍不能滿足https://github.com/spark-jobserver/spark-jobserver#job-result-serialization火花jobserver serialzation格式

如果是這樣的結果,我從火花得到

Array([1364767200000,1.9517414004122625E15], [1380578400000,6.9480992806496976E16]) 

我怎麼能把它映射到一個合適的格式? (有用的序列化) 如何添加其他字段?

試圖玩像這樣的數組:Array([1,2], [3,4])只會導致錯誤。

目前我得到基於Spark flattening out dataframes以下序列:

"result": "Map(1364767200000 -> 1.9517414004122625E15, 1380578400000 -> 6.9480992806496976E16)" 

這顯然不是由喬布斯erver「解析」。

據我瞭解,嵌套數組(從collect)不能正確序列化。但是,這張地圖應該是可序列化的。哪裏不對?

編輯

只有當我返回一個正確的類型列表Json編碼似乎工作。

case class Student(name: String, age: Int) 
List(Student("Torcuato", 27), Student("Rosalinda", 34)) 

結果是:"result": [["Torcuato", 27], ["Rosalinda", 34]]。已經爲

val dataFrame: DataFrame = sql.createDataFrame(sql.sparkContext.parallelize(List(Student("Torcuato", 27), Student("Rosalinda", 34)))) 
    dataFrame.collect 

我得到"result": ["[Torcuato,27]", "[Rosalinda,34]"]這是一些奇怪的JSON。

據我瞭解的問題,我需要解析我的結果到一個自定義的類。我將如何實現這一目標?

回答