spark-jobserver 序列化格式
spark-jobserver serialzation format
开始使用 spark-jobserver 我了解到数据帧可以像 but this still does not fulfill https://github.com/spark-jobserver/spark-jobserver#job-result-serialization
一样扁平化
如果这是我从 spark 得到的结果
Array([1364767200000,1.9517414004122625E15], [1380578400000,6.9480992806496976E16])
我怎样才能将它映射到合适的格式? (有用的连载)
我怎样才能添加额外的字段?
尝试使用如下数组:Array([1,2], [3,4])
只会导致错误。
目前我得到以下基于的序列化:
"result": "Map(1364767200000 -> 1.9517414004122625E15, 1380578400000 -> 6.9480992806496976E16)"
这显然没有被作业服务器“解析”。
据我了解,嵌套数组(来自 collect
)无法正确序列化。但是,这个映射应该是可序列化的。怎么了?
编辑
只有当我 return 一个正确输入的列表时,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。
据我所知,我需要将所有结果解析为自定义 class。我将如何实现这一点?
答案是,目前显然只支持字符串映射,因此,这 导致干净的序列化。
开始使用 spark-jobserver 我了解到数据帧可以像
如果这是我从 spark 得到的结果
Array([1364767200000,1.9517414004122625E15], [1380578400000,6.9480992806496976E16])
我怎样才能将它映射到合适的格式? (有用的连载) 我怎样才能添加额外的字段?
尝试使用如下数组:Array([1,2], [3,4])
只会导致错误。
目前我得到以下基于
"result": "Map(1364767200000 -> 1.9517414004122625E15, 1380578400000 -> 6.9480992806496976E16)"
这显然没有被作业服务器“解析”。
据我了解,嵌套数组(来自 collect
)无法正确序列化。但是,这个映射应该是可序列化的。怎么了?
编辑
只有当我 return 一个正确输入的列表时,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。
据我所知,我需要将所有结果解析为自定义 class。我将如何实现这一点?
答案是,目前显然只支持字符串映射,因此,这