Как вывести массив [String] в файл Json? - PullRequest
0 голосов
/ 19 июня 2019

Я хочу конвертировать массив [String] в файл JSON. Это выглядит так:

scala> ok.foreach(println)
Bayern Munich,7
Borussia Dortmund,5
Arsenal,3
Schalke 04,2
SC Freiburg,1
Hannover 96,1
Lazio,1
Chelsea,1
Borussia Mönchengladbach,1
Real Madrid,1

Мне нужны эти цифры, чтобы остаться на месте, потому что их порядок имеет решающее значение.

Я пытался использовать: ok.write.format ( "JSON"). сохранить ( "Query11.json") но это ошибка, которую я получаю: ошибка: значение write не является членом массива [String]

1 Ответ

0 голосов
/ 19 июня 2019
scala> ok
res58: Array[String] = Array(Bayern Munich,7, Borussia Dortmund,5, Arsenal,3, Schalke 04,2, SC Freiburg,1, Hannover 96,1, Lazio,1, Chelsea,1, Borussia Mönchengladbach,1, Real Madrid,1)

scala> val df  =  sc.parallelize(ok).toDF("Arr_string")
scala> val df1 = df.withColumn("_tmp", split($"Arr_string", ",")).select(
     |   $"_tmp".getItem(0).as("Name"),
     |   $"_tmp".getItem(1).as("Number")
     | ).drop("_tmp")

scala> df1.show(false)
+------------------------+------+
|Name                    |Number|
+------------------------+------+
|Bayern Munich           |7     |
|Borussia Dortmund       |5     |
|Arsenal                 |3     |
|Schalke 04              |2     |
|SC Freiburg             |1     |
|Hannover 96             |1     |
|Lazio                   |1     |
|Chelsea                 |1     |
|Borussia Mönchengladbach|1     |
|Real Madrid             |1     |
+------------------------+------+

scala> df1.write.format("json").save(<path of parent json dir>)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...