Поделиться через


json_tuple

Создает новую строку для столбца JSON в соответствии с указанными именами полей.

Синтаксис

from pyspark.sql import functions as sf

sf.json_tuple(col, *fields)

Параметры

Параметр Тип Description
col pyspark.sql.Column или str Строковый столбец в формате JSON.
fields str Поле или поля для извлечения.

Возвраты

pyspark.sql.Column: новая строка для каждого заданного значения поля из объекта JSON

Примеры

from pyspark.sql import functions as sf
data = [("1", '''{"f1": "value1", "f2": "value2"}'''), ("2", '''{"f1": "value12"}''')]
df = spark.createDataFrame(data, ("key", "jstring"))
df.select(df.key, sf.json_tuple(df.jstring, 'f1', 'f2')).collect()
[Row(key='1', c0='value1', c1='value2'), Row(key='2', c0='value12', c1=None)]