如何使用java动态展平spark数据帧中的复杂嵌套json

如何使用java动态展平spark数据帧中的复杂嵌套json,java,json,apache-spark,Java,Json,Apache Spark,我的输入json数据帧文件如下所示: company: array (nullable = true) | |-- element: struct (containsNull = true) | | |-- address: struct (nullable = true) | | | |-- city: string (nullable = true) | | | |-- county: string (nullable = true) |

我的输入json数据帧文件如下所示:

company: array (nullable = true)
|    |-- element: struct (containsNull = true)
|    |    |-- address: struct (nullable = true)
|    |    |    |-- city: string (nullable = true)
|    |    |    |-- county: string (nullable = true)
|    |    |    |-- latitude: string (nullable = true)
|    |    |    |-- line1: string (nullable = true)
|    |    |    |-- line2: string (nullable = true)
|    |    |    |-- longitude: string (nullable = true)
|    |    |    |-- postalCode: long (nullable = true)
|    |    |    |-- state: struct (nullable = true)
|    |    |    |    |-- code: int (nullable = true)
|    |    |    |    |-- name: string (nullable = true)
|    |    |    |-- stateOtherDescription: string (nullable = true)
|    |    |-- addressSourceOther: string (nullable = true)
|    |    |-- addressSourceType: struct (nullable = true)
|    |    |     |-- code: int (nullable = true)
|    |    |     |-- name: string (nullable = true)
|    |    |-- reasons: array (nullable = true)
|    |    |     |-- element: struct (containsNull = true)
|    |    |     |-- improve: string (nullable = true)
|    |    |     |-- far: string (nullable = true)
|    |    |     |-- home: string (nullable = true)

我想使用spark java动态地展平它。有人能帮我一下吗?

请看一看中的de.stefanfrings/parsing/JsonSlurper类。它读取一个JSON文档,并根据内容创建一个平面HashMap

我认为你的问题与apache spark无关。输出应该是什么样子?我正在HDFS中接收数据,并在spark df(版本2.3)中读取数据。输出应该是单个列中的所有属性,而不嵌套。