Я пытаюсь создать вложенный JSON из моего фрейма данных искры, который имеет данные в следующей структуре.Приведенный ниже код создает простой JSON с ключом и значением.Не могли бы вы помочь
df.coalesce(1).write.format('json').save(data_output_file+"createjson.json", overwrite=True)
Обновление 1: Согласно ответу @MaxU, я преобразовал фрейм искровых данных в pandas и использовал group by.Это помещает последние два поля во вложенный массив.Как я мог сначала поместить категорию и считать во вложенный массив, а затем внутри этого массива я хочу поместить подкатегорию и счет.
Пример текстовых данных:
Vendor_Name,count,Categories,Category_Count,Subcategory,Subcategory_Count
Vendor1,10,Category 1,4,Sub Category 1,1
Vendor1,10,Category 1,4,Sub Category 2,2
Vendor1,10,Category 1,4,Sub Category 3,3
Vendor1,10,Category 1,4,Sub Category 4,4
j = (data_pd.groupby(['vendor_name','vendor_Cnt','Category','Category_cnt'], as_index=False)
.apply(lambda x: x[['Subcategory','subcategory_cnt']].to_dict('r'))
.reset_index()
.rename(columns={0:'subcategories'})
.to_json(orient='records'))
[{
"vendor_name": "Vendor 1",
"count": 10,
"categories": [{
"name": "Category 1",
"count": 4,
"subCategories": [{
"name": "Sub Category 1",
"count": 1
},
{
"name": "Sub Category 2",
"count": 1
},
{
"name": "Sub Category 3",
"count": 1
},
{
"name": "Sub Category 4",
"count": 1
}
]
}]