使用Pyspark从XML内的Json元素创建新的数据框

时间:2019-07-05 07:53:06

标签: pyspark databricks

嗨,我正在处理相当困难的XML文件,我正在尝试对其进行格式化和清理以进行某些处理。我一直在使用Pyspark将数据处理到数据帧中,并且正在使用com.databricks.spark.xml来读取文件。

我的数据框看起来像这样;每个字段都是JSON格式

+----------------+---------------------------------+
|      Identifier|                             Info|
+----------------+---------------------------------+
|  JSON          |     Json                        |
|                |                                 |
|                |                                 |
+----------------+---------------------------------+

这是Identifier列中的示例值

{
"Other": [
    {
        "_Type": "A",
        "_VALUE": "999"
    },
    {
        "_Type": "B",
        "_VALUE": "31086"
    },
    {
        "_Type": "C",
        "_VALUE": "13123"
    },
    {
        "_Type": "D",
        "_VALUE": "32323"
    },
    {
        "_Type": "E",
        "_VALUE": "2223"
    },
    {
        "_Type": "F",
        "_VALUE": "100"
    },
  ]
}

这就是Info列的样子

{
"Demo": {
    "BirthDate": "2009-09-13",
    "BirthPlace": {
        "_VALUE": null,
        "_nil": true
    },
    "Rel": {
        "_VALUE": null,
        "_nil": true
    }

},
"EmailList": {
    "_VALUE": null,
    "_nil": true
},
"Name": {
    "LastName": "Marwan",
    "FullName": {
        "_VALUE": null,
        "_nil": true
    },
    "GivenName": "Saad",
    "MiddleName": null,
    "PreferredFamilyName": {
        "_VALUE": null,
        "_nil": true
    }
},
"OtherNames": {
    "_VALUE": null,
    "_nil": true
 }
}

我正在尝试创建一个如下所示的数据框

+-------+--------+-----------+------------+------------+
|      F|       E|   LastName|  GivenName |   BirthDate|
+-------+--------+-----------+------------+------------+

0 个答案:

没有答案