Могу ли я сохранить Dataframe как красивый формат JSON в Spark Scala? - PullRequest
0 голосов
/ 06 декабря 2018

Читая CSV-файл как Dataframe в Spark Scala, можем ли мы сохранить файл в формате JSON с корневыми тегами?

1 Ответ

0 голосов
/ 07 декабря 2018

У меня есть следующее 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"}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...