@denislysenko
data engineer

Как распарсить вложенный JSON с помощью Spark.sql, Spark.Dataframe или azure data factory так, чтобы у меня была таблица в реляционном виде?

У меня есть файл json и его вложенность просто зашкаливает

Как распарсить файл json при помощи Spark или azure data factory так, чтобы у меня в итоге была таблица без вложений. Есть ли какой то универсальный способ как это сделать?

Например json выглядит вот так:
{
 "id": "0001",
 "type": "donut",
 "name": "Cake",
 "ppu": 0.55,
 "batters":
  {
   "batter":
    [
     { "id": "1001", "type": "Regular" },
     { "id": "1002", "type": "Chocolate" },
     { "id": "1003", "type": "Blueberry" }
    ]
  },
 "topping":
  [
   { "id": "5001", "type": "None" },
   { "id": "5002", "type": "Glazed" },
   { "id": "5005", "type": "Sugar" },
   { "id": "5007", "type": "Powdered Sugar" },
   { "id": "5006", "type": "Chocolate with Sprinkles" },
   { "id": "5003", "type": "Chocolate" },
   { "id": "5004", "type": "Maple" }
  ]
}


схема этого json выгдялит так:
root
 |-- batters: struct (nullable = true)
 |    |-- batter: array (nullable = true)
 |    |    |-- element: struct (containsNull = true)
 |    |    |    |-- id: string (nullable = true)
 |    |    |    |-- type: string (nullable = true)
 |-- id: string (nullable = true)
 |-- name: string (nullable = true)
 |-- ppu: double (nullable = true)
 |-- topping: array (nullable = true)
 |    |-- element: struct (containsNull = true)
 |    |    |-- id: string (nullable = true)
 |    |    |-- type: string (nullable = true)
 |-- type: string (nullable = true)


я хочу получить таблицу в ячейках которой будут нормальные значения, то есть не составные

Вообщем мне просто нужно распарсить очень вложенный json любым способом чтобы получить нормальную таблицу
  • Вопрос задан
  • 193 просмотра
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы