Я новичок в писпарке
У меня есть набор данных, который выглядит (просто снимок нескольких столбцов)
Я хочу сгруппировать свои данные по ключу. Мой ключ
CONCAT(a.div_nbr,a.cust_nbr)
Моя конечная цель - преобразовать данные в JSON, отформатированные следующим образом.
k1[{v1,v2,....},{v1,v2,....}], k2[{v1,v2,....},{v1,v2,....}],....
e.g
248138339 [{ PRECIMA_ID:SCP 00248 0000138339, PROD_NBR:5553505, PROD_DESC:Shot and a Beer Battered Onion Rings (5553505 and 9285840) , PROD_BRND:Molly's Kitchen,PACK_SIZE:4/2.5 LB, QTY_UOM:CA } ,
{ PRECIMA_ID:SCP 00248 0000138339 , PROD_NBR:6659079 , PROD_DESC:Beef Chuck Short Rib Slices, PROD_BRND:Stockyards , PACK_SIZE:12 LBA , QTY_UOM:CA} ,{...,...,} ],
1384611034793[{},{},{}],....
Я создал фрейм данных (в основном я присоединяюсь к двум таблицам, чтобы получить еще несколько полей)
joinstmt = sqlContext.sql(
"SELECT a.precima_id , CONCAT(a.div_nbr,a.cust_nbr) as
key,a.prod_nbr , a.prod_desc,a.prod_brnd , a.pack_size , a.qty_uom , a.sales_opp , a.prc_guidance , a.pim_mrch_ctgry_desc , a.pim_mrch_ctgry_id , b.start_date,b.end_date
ОТ scoop_dtl a присоединиться к scoop_hdr b on (a.precima_id =b.precima_id)")
Теперь, чтобы получить вышеуказанный результат, мне нужно сгруппировать по результату на основе ключа, я сделал следующее
groupbydf = joinstmt.groupBy("key")
Это привело к сгруппированным данным, и после прочтения я узнал, что не могу использовать их напрямую, и мне нужно преобразовать их обратно в кадры данных, чтобы сохранить их.
Я новичок в этом, мне нужна помощь, чтобы преобразовать его обратно в фреймы данных, или я был бы признателен, если есть какие-либо другие способы.