Создать новый Dataframe из элемента Json внутри XML с помощью Pyspark - PullRequest
0 голосов
/ 05 июля 2019

Привет, я имею дело с довольно сложным XML-файлом, который я пытаюсь переформатировать и очистить для некоторой обработки.Я использую Pyspark для обработки данных в фрейм данных и использую com.databricks.spark.xml для чтения файла.

Мой Dataframe выглядит следующим образом;Каждое поле имеет формат 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|
+-------+--------+-----------+------------+------------+
...