from_json(col, schema, options={})
Описание
Функция from_json()
преобразует строку JSON в структуру данных PySpark в соответствии с указанной схемой.
Параметры
col
: Column - столбец, содержащий строку JSONschema
: StructType или String - схема для парсинга JSONoptions
: 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()