начало работы с искровым 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.
Насколько я понимаю, мне нужно было бы разобрать весь мой результат в пользовательский класс. Как я могу это достичь?