Skip to content

to_xml(col)

Описание

Функция to_xml() преобразует структуру данных в XML-строку. Это позволяет сериализовать данные в XML-формат для дальнейшего использования или экспорта.

Параметры

  • col: Column - столбец с данными для преобразования в XML

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

Column - XML-строка, представляющая структуру данных

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

from pyspark.sql import SparkSession
from pyspark.sql.functions import to_xml, struct, lit

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

# Создаем DataFrame с данными
data = [("John Doe", 30, "123 Main St", "New York")]
df = spark.createDataFrame(data, ["name", "age", "street", "city"])

# Преобразуем данные в XML
result = df.select(
    to_xml(
        struct(
            lit("person").alias("tag"),
            struct(
                col("name").alias("name"),
                col("age").alias("age"),
                struct(
                    col("street").alias("street"),
                    col("city").alias("city")
                ).alias("address")
            ).alias("value")
        )
    ).alias("xml_data")
)
result.show(truncate=False)

# Результат:
# +------------------------------------------------------------------+
# |xml_data                                                          |
# +------------------------------------------------------------------+
# |<person><name>John Doe</name><age>30</age><address><street>123...|
# +------------------------------------------------------------------+

Примечания

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