Apache spark 获得;“不明确的引用”;读取嵌套json Pypark时发生异常

Apache spark 获得;“不明确的引用”;读取嵌套json Pypark时发生异常,apache-spark,pyspark,apache-spark-sql,Apache Spark,Pyspark,Apache Spark Sql,我有一个下面的嵌套模式: root |-- fields: struct (nullable = true) | |-- configdata: struct (containsNull = true) | | |-- field: string (nullable = true) | | |-- type: string (nullable = true) | | |-- value: string (nullable = true) | |--

我有一个下面的嵌套模式:

root
|-- fields: struct (nullable = true)
|    |-- configdata: struct (containsNull = true)
|    |    |-- field: string (nullable = true)
|    |    |-- type: string (nullable = true)
|    |    |-- value: string (nullable = true)
|    |-- configdata:struct (containsNull = true)
|    |    |-- field1: string (nullable = true)
|    |    |-- type1: string (nullable = true)
|    |    |-- value1: string (nullable = true)
|-- id: string (nullable = true)
|-- score: double (nullable = true)
|-- siteId: string (nullable = true)
我必须从这个json中读取configdata:属性。 但是,当我尝试这样做时:

newDf= dataframe.select(sf.array(sf.expr("configdata"))
它失败了,但有一个例外:

对字段StructField(configdata)的引用不明确

正如您所看到的,configData是struct类型的,我必须从这个json中读取这两个配置数据。 使用spark数据帧API在Pyspark中开发的代码。
有人能帮忙吗?

有两个结构,没有数组的情况很明显。这是不明确的,因为它们处于同一水平。不可能。为源代码处的第二个结构指定一个新名称:“configdata1”。

由于我是pyspark的新手,请您帮助我在pyspark Only中解析时在同一级别编辑相同的名称。您需要编辑源代码或要求他们为源代码处的第二个结构提供不同的名称。