Как преобразовать значение ячейки JSON в Dataframe с помощью PySpark? - PullRequest
0 голосов
/ 09 июля 2020

Я работаю над проблемой, когда мой приятель сохранил некоторые вещи в MySQL как JSON. Когда я конвертирую его в PySpark, некоторые данные выглядят так ...

threshold_df.show()

++++++++++++++++++++++++++++++++++++++++++
|                   Value                |
++++++++++++++++++++++++++++++++++++++++++
| {"SHIRTS":{"threshold":"10","active":0}|
|"PANTS":{"threshold":"4","active":1},   |
|"SOCKS":{"threshold":2,"active":1},     |
|"SHOES":{"threshold":5,"active":0}}     |
++++++++++++++++++++++++++++++++++++++++++

Вот что я хочу ...

       | threshold | active |
-----------------------------
SHIRTS |   10      |    0   |
-----------------------------
PANTS  |   04      |    1   |
-----------------------------
SOCKS  |   02      |    1   |
-----------------------------
SHOES  |   05      |    0   |
-----------------------------

Как мне добраться и спасибо!

Ответы [ 2 ]

0 голосов
/ 15 июля 2020

Я разобрался. Сначала вам нужно исправить это в SQL. Поскольку я нахожусь в MySQL, я использовал JSON_EXTRACT ( здесь объяснено ). Вот MySQL Работа, которую я проделал.

SELECT product_type, JSON_EXTRACT (datastuff, '$. Value') как theshold_limit, JSON_EXTRACT (datastuff, '$. Active') как active_status FROM (выберите 'SHIRT' как product_type, JSON_EXTRACT (value, '$. SHIRT') как данные из storechema.crm_configuration, где code = 'CATEGORY_THRESHOLD') a1

UNION ALL

SELECT product_type, JSON_EXTRACT (datastuff, '$. value') как theshold_limit, JSON_EXTRACT (datastuff, '$. active') как active_status FROM (выберите "PANT" как product_type, JSON_EXTRACT (value, '$. PANT') как данные из storechema.crm_configuration, где code = 'CATEGORY_THRESHOLD') a2

После того, как я ввел таблицу storechema.crm_configuration, превратил ее в DF ... затем selectExpr ('Above SQL') индивидуально ... затем добавил объединение.

0 голосов
/ 13 июля 2020

Без кода предварительного просмотра, показывающего, как вы загружаете данные, довольно сложно. Но, возможно, этот ответ может вам помочь: Прочитать JSON файл как Pyspark Dataframe с помощью PySpark?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...