入门火花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。
据我了解的问题,我需要解析我的结果到一个自定义的类。我将如何实现这一目标?