Skip to content

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() - преобразует структуру данных в XML
  • schema_of_xml() - возвращает схему XML-строки
  • xpath() - извлекает значения из XML по XPath