from_xml(col, schema)
Описание
Функция from_xml()
парсит XML-строку в структуру данных согласно указанной схеме. Это позволяет работать с XML-данными в Spark SQL.
Параметры
col
: Column - столбец, содержащий XML-строкуschema
: str - схема XML в формате DDL
Возвращаемое значение
Column - структура данных, соответствующая схеме
Пример использования
from pyspark.sql import SparkSession
from pyspark.sql.functions import from_xml
# Создаем SparkSession
spark = SparkSession.builder.appName("from_xml_example").getOrCreate()
# Определяем схему XML
schema = """
STRUCT<
person: STRUCT<
name: STRING,
age: INT,
address: STRUCT<
street: STRING,
city: STRING
>
>
>
"""
# Создаем DataFrame с XML-данными
data = [("""
<person>
<name>John Doe</name>
<age>30</age>
<address>
<street>123 Main St</street>
<city>New York</city>
</address>
</person>
""",)]
df = spark.createDataFrame(data, ["xml_data"])
# Парсим XML
result = df.select(from_xml("xml_data", schema).alias("parsed_data"))
result.show(truncate=False)
# Результат:
# +--------------------------------------------------+
# |parsed_data |
# +--------------------------------------------------+
# |{{John Doe, 30, {123 Main St, New York}}} |
# +--------------------------------------------------+
Примечания
- Схема должна соответствовать структуре XML
- Поддерживает вложенные структуры
- Полезно для:
- Обработки XML-данных
- Преобразования XML в структурированный формат
- Интеграции с XML-источниками
- Связанные функции:
to_xml()
- преобразует структуру данных в XMLschema_of_xml()
- возвращает схему XML-строкиxpath()
- извлекает значения из XML по XPath