У меня есть следующее df:
+------+-----+
|number| word|
+------+-----+
| 8| bat|
| 64|mouse|
| -27|horse|
+------+-----+
Если вы хотите создать корневой элемент, вы можете использовать следующий подход: 1. Создайте функцию, которая преобразует вас DF в DF со столбцом JSON:
def convertDFToJSON(df: DataFrame): DataFrame = {
val columns = df.columns
val outDF = df.map(row =>
"myroot : " +
JSONObject(row.getValuesMap(columns)).toString()
)
outDF.toDF("bla")
}
2.Примените функцию к вашему DF:
val test1 = convertDFToJSON(someDF)
+--------------------+
| bla|
+--------------------+
|myroot : {"number...|
|myroot : {"number...|
|myroot : {"number...|
+--------------------+
3.Напишите DF в виде текста:
test1.write.text("/tmp/some")
, вывод:
myroot : {"number" : 8, "word" : "bat"}
myroot : {"number" : 64, "word" : "mouse"}
myroot : {"number" : -27, "word" : "horse"}