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()