Skip to content

from_json(col, schema, options={})

Описание

Функция from_json() преобразует строку JSON в структуру данных PySpark в соответствии с указанной схемой.

Параметры

  • col: Column - столбец, содержащий строку JSON
  • schema: StructType или String - схема для парсинга JSON
  • options: Dict - дополнительные опции для парсинга (опционально)

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

StructType - структура данных PySpark, соответствующая указанной схеме

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

from pyspark.sql.functions import from_json
from pyspark.sql.types import StructType, StructField, StringType, IntegerType
from pyspark.sql import SparkSession

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

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

# Определяем схему
schema = StructType([
    StructField("name", StringType(), True),
    StructField("age", IntegerType(), True)
])

# Преобразуем JSON в структуру
result = df.select(
    from_json("json_data", schema).alias("parsed_data")
).show(truncate=False)

# Результат:
# +------------------+
# |parsed_data       |
# +------------------+
# |{John, 30}        |
# |{Alice, 25}       |
# +------------------+

Примечания

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