Изменить структуру json scala

#json #scala #apache-spark

#json #scala #apache-spark

Вопрос:

У меня есть json, подобный этому:

  [
  {
    "ser": 345,
    "City": "New York",
    "Gen": 1
  },
  {
    "ser": 55,
    "City": "New York",
    "Gen": 2
  },
  {
    "ser": 19,
    "City": "New York",
    "Gen": 3
  }
 ]
  

Я хочу сделать некоторый запрос к этому json (пример: ВЫБЕРИТЕ SUM (ser) КАК Serlab, City, Gen ИЗ libri GROUP ПО городам, порядок генерации По городам) … мне нужен spark rdd, чтобы сделать это.

После этого запроса я должен изменить структуру моего входного json в этом новом:

 [ { "label": [1,2,3] //that is the Gen value, 
     "values": [ 
                 { "label":"New York" 
                   "values":["200","10","66"]  //is the ser about all Gen (for eexample 200 is ser is for label/gen 1 .. 10 is for label/gen 2 etc.
                 },
                { "label":"London" 
                  "values":["500","150","46"] 
                }, 
                { "label":"London" 
                  "values":["500","150","46"] 
                }, 
                .
                . 
                . 
                . 
                . 
               ] 
  } 
]
  

И затем я отправляю этот новый JSON в Http-запрос
Как я могу сделать это в scala, play, spark? Пожалуйста, помогите мне 🙂

Комментарии:

1. Вы должны посмотреть на Spark dataframe. Также ознакомьтесь с документацией на официальном веб-сайте, преобразование RDD в другой довольно простое и похоже на то, как работает collections API в scala

2. 1) я использую spark и rdd для получения json из hadoop, а затем выполняю некоторый запрос. 2) Затем у меня есть класс, который принимает значение json следующим образом: case class Book(ser: Int, city: String, gen: Int) 3) Я создаю последовательность book. 4) Итак, теперь я хочу изменить этот seq в списке, который выглядит как вывод json. В конце я преобразоваю этот список в формат json. Как я могу сделать этот последний шаг

3. @RamkumarVenkataraman есть ли у вас какое-либо решение?

4. пожалуйста, помогите мне 🙂