Как выбрать данные из вложенного JSON с помощью фреймов данных в Spark.
В приведенном ниже примере JSON я хотел ВЫБРАТЬ данные из массива в массиве
"xyz01": [{"@SEGMENT": "1", "POS": "00001", "MEN": "10.000", "xyz05": [{*
"CHL": "DIRECT", "BET": "54545"}, {"@SEGMENT": "1", "CHL": "INDIRECT", "TRG": "778787",}]}, {"@SEGMENT": "1", "POS": "00002","MENGE": "4354354", "xyz05": [{"@SEGMENT": "1", "ALCKZ": "+", "CHL": "DIRECT",}, {"@SEGMENT": "1", "CHL": "INDIRECT", "TRG": "3434343"}]};
]
требуемый выход: POS CHL 000001 DIRECT 000001 INDIRECT 000002 DIRECT 000002 INDIRECT
IЯ пытаюсь с приведенным ниже кодом .... но получить дубликаты значений в выводе. Код:
DF = "READ THE JOSON FILE INTO DataFrame"
DF.withColumn("LineItem",explode(col("XYZ01.POS")))
.withColumn("TypeCode",explode(col("XYZ01.XYZ05")))
.select(explode(col("TypeCode.CHL")).as("TypeCodeOutPut"),col"LineItem"))
Выход из вышеприведенного кода: 000001 ПРЯМОЙ 000001 ПРЯМОЙ 000001 ПРЯМОЙ 000001 ПРЯМОЙ 000002 ПРЯМОЙ 000002 ПРЯМОЙ 000002 ПРЯМОЙ 000002 ПРЯМОЙ