Я создал данные из вашего образца набора данных и создал из них фрейм данных. Вы можете использовать следующий код:
from pyspark.sql import Row, DataFrame,SparkSession
from pyspark.sql.functions import *
import json
spark = SparkSession.builder.getOrCreate()
data = spark.createDataFrame([Row(col1=1111,col2="name",col3=None,col4=None),Row(col1=1112,col2="name1",col3="abcd",col4="def"),Row(col1=1112,col2="name1",col3="DEFG",col4="ABXC")])
ndata = data.select(struct("col1","col2",struct("col3","col4").alias("details")).alias("data"))
dataList = list(map(json.loads,ndata.toJSON().collect()))
Приведенный выше код возвращает результат в виде списка словарей в Python.