Skip to content

schema_of_xml(xml)

Описание

Функция schema_of_xml() возвращает схему XML-строки в формате DDL. Это полезно для определения структуры XML-данных перед их парсингом.

Параметры

  • xml: str - XML-строка, для которой нужно определить схему

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

Column - строка с определением схемы в формате DDL

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

from pyspark.sql import SparkSession
from pyspark.sql.functions import schema_of_xml, lit

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

# XML-строка для анализа
xml_str = """
  <person>
    <name>John Doe</name>
    <age>30</age>
    <address>
      <street>123 Main St</street>
      <city>New York</city>
    </address>
  </person>
"""

# Получаем схему XML
schema = spark.sql(f"SELECT schema_of_xml('{xml_str}')").collect()[0][0]
print(f"Схема XML: {schema}")

# Результат:
# Схема XML: STRUCT<person: STRUCT<name: STRING, age: INT, address: STRUCT<street: STRING, city: STRING>>>

Примечания

  • Автоматически определяет типы данных на основе содержимого XML
  • Поддерживает вложенные структуры
  • Полезно для:
  • Анализа структуры XML-данных
  • Создания схемы для парсинга XML
  • Валидации XML-структуры
  • Связанные функции:
  • from_xml() - парсит XML-строку в структуру данных
  • to_xml() - преобразует структуру данных в XML
  • schema_of_json() - возвращает схему JSON-строки