создавать файлы JSON на основе комбинаций строк в SPARK-SQL - PullRequest
0 голосов
/ 27 декабря 2018

Мне нужно создать несколько файлов JSON на основе комбинаций строк.
Например, в приведенной ниже таблице 4 строки, поэтому мне нужно создать 3 файла JSON.
Я предоставил образец таблицы ниже, который будет взят как исходный код, так и образец JSON, который мы должны создать.
В каждом файле JSON должны быть данные, относящиеся к calendaryear|channel|division|gender|category

Есликомбинация calendaryear|channel|division|gender|category повторяется, нам нужно объединить эти строки в один файл JSON.

Если значение отсутствует в течение некоторой недели, его необходимо заполнить нулем, как указано в примере JSON

calendaryear|channel|division|gender|category|netSales|salesUnits|weeknumber|

2018|Digital| APPAREL|  KIDS|    CRICKET|12009.599999999993|     199.0|                 2|

2018|Digital| APPAREL|  KIDS|COLLECTIONS| 8192.699999999999|     111.0|                 2|

2018|Digital|FOOTWEAR|  MENS|COLLECTIONS|3767.3999999999996|      55.0|                 2|

2018|Digital| APPAREL|  KIDS|COLLECTIONS|            808.24|       7.0|                 4|

diff JSON-файлы должны создаваться на основе uniqueKey,calendaryear|channel|division|gender|category

{  
   "uniqueKey":"RY18_DIGITAL_APPAREL_KIDS_COLLECTIONS",
   "division":"APPAREL",
   "gender":"KIDS",
   "category":"COLLECTIONS",
   "channel":"DIGITAL",
   "year":"RY18",
   "dataRows":[  
      {  
         "rowId":"Net Sales",
         "dataRow":[  
            {  
               "W1":5000,
               "W2":0,
               "W3":0,
               "W4":0,
               "W5":0,
               "W6":0,
               "W7":0,
               "W8":0,
               "W9":0,
               "W10":0,
               "W11":0,
               "W12":0,
               "W13":0,
               "W14":2000,
               "W15":0,
               "W16":0,
               "W17":3000,
               "W18":0,
               "W19":0,
               "W20":0,
               "W21":0,
               "W22":0,
               "W23":0,
               "W24":0,
               "W25":0,
               "W26":0,
               "W27":0,
               "W28":0,
               "W29":0,
               "W30":0,
               "W31":0,
               "W32":0,
               "W33":0,
               "W34":0,
               "W35":0,
               "W36":0,
               "W37":0,
               "W38":0,
               "W39":0,
               "W40":0,
               "W41":0,
               "W42":0,
               "W43":0,
               "W44":0,
               "W45":0,
               "W46":0,
               "W47":0,
               "W48":0,
               "W49":0,
               "W50":0,
               "W51":0,
               "W52":0
            }
         ]
      },
      {  
         "rowId":"Sales Units",
         "dataRow":[  
            {  
               "W1":50,
               "W2":0,
               "W3":0,
               "W4":0,
               "W5":0,
               "W6":0,
               "W7":0,
               "W8":0,
               "W9":0,
               "W10":0,
               "W11":0,
               "W12":0,
               "W13":0,
               "W14":20,
               "W15":0,
               "W16":0,
               "W17":30,
               "W18":0,
               "W19":0,
               "W20":0,
               "W21":0,
               "W22":0,
               "W23":0,
               "W24":0,
               "W25":0,
               "W26":0,
               "W27":0,
               "W28":0,
               "W29":0,
               "W30":0,
               "W31":0,
               "W32":0,
               "W33":0,
               "W34":0,
               "W35":0,
               "W36":0,
               "W37":0,
               "W38":0,
               "W39":0,
               "W40":0,
               "W41":0,
               "W42":0,
               "W43":0,
               "W44":0,
               "W45":0,
               "W46":0,
               "W47":0,
               "W48":0,
               "W49":0,
               "W50":0,
               "W51":0,
               "W52":0
            }
         ]
      }
   ]
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...