Skip to content

json_tuple(col, *fields)

Описание

Функция json_tuple() извлекает значения из JSON в виде отдельных столбцов.

Параметры

  • col: Column - столбец, содержащий строку JSON
  • *fields: String - имена полей для извлечения

Возвращаемое значение

StructType - структура с извлеченными значениями

Пример использования

from pyspark.sql.functions import json_tuple
from pyspark.sql import SparkSession

# Создаем SparkSession
spark = SparkSession.builder.appName("json_tuple_example").getOrCreate()

# Создаем DataFrame
data = [
    ('{"name": "John", "age": 30, "city": "New York"}'),
    ('{"name": "Alice", "age": 25, "city": "Boston"}')
]
df = spark.createDataFrame(data, ["json_data"])

# Извлекаем значения в отдельные столбцы
result = df.select(
    json_tuple("json_data", "name", "age", "city").alias("name", "age", "city")
).show()

# Результат:
# +-----+---+--------+
# |name |age|city    |
# +-----+---+--------+
# |John |30 |New York|
# |Alice|25 |Boston  |
# +-----+---+--------+

Примечания

  • Для преобразования JSON в структуру используйте from_json()
  • Для преобразования структуры в JSON используйте to_json()
  • Для извлечения значения по пути используйте get_json_object()
  • Для получения схемы JSON используйте schema_of_json()