Я сохранил в своем MongoDB несколько JSON документов. Каждый документ выглядит так: {"businessData":{"capacity":{"fuelCapacity":282}, ..}
.
После прочтения всех документов я хочу экспортировать их как действительный файл JSON. В частности:
// Read JSON data from the DB
val df: DataFrame = MongoSpark.load(sparkSession, readConfig)
df.show
// Export into the file system
df.coalesce(1).write.mode(SaveMode.Overwrite).json("export.json")
// The show command only shows the .json values
+--------------------+
| businessData|
+--------------------+
|[[282],0,[true,20...|
|[[280],0,[true,20...|
|[[290],0,[true,20...|
|[[292],0,[true,20...|
|[[282],16,[true,2...|
+--------------------+
// export.json
{"businessData":{"capacity":{"fuelCapacity":282}, ..}
{"businessData":{"capacity":{"fuelCapacity":280}, ..}
{"businessData":{"capacity":{"fuelCapacity":290}, ..}
{"businessData":{"capacity":{"fuelCapacity":292}, ..}
{"businessData":{"capacity":{"fuelCapacity":282}, ..}
Но когда я экспортирую в файловую систему, я хочу объединить эти 5 строк в массив, а также добавить некоторые пользовательские метаданные. Например:
{
"metadata" : { "exportTime": "20/20/2020" , ...}
"allBusinessData" : [
{"businessData":{"capacity":{"fuelCapacity":282}, ..},
// all 5 rows from above
]
}
Я видел вопросы здесь и здесь , советующие против него. Они также частично отвечают на вопрос, так как не добавляют пользовательскую структуру json к экспорту.
Предполагая, однако, что это единственный способ продолжить, как я могу это сделать?
Большое спасибо!