xpath_short(xml, path)
Описание
Функция xpath_short()
извлекает короткое целочисленное значение (16-битное) из XML-документа по указанному XPath-выражению.
Параметры
xml
: Column - столбец с XML-строкамиpath
: String - XPath-выражение для извлечения короткого целочисленного значения
Возвращаемое значение
Short - извлеченное короткое целочисленное значение
Пример использования
from pyspark.sql.functions import xpath_short
from pyspark.sql import SparkSession
# Создаем SparkSession
spark = SparkSession.builder.appName("xpath_short_example").getOrCreate()
# Создаем DataFrame с XML-строками
data = [
("<product><name>Laptop</name><quantity>32767</quantity></product>"),
("<product><name>Phone</name><quantity>10000</quantity></product>")
]
df = spark.createDataFrame(data, ["xml"])
# Извлекаем количество товаров
result = df.select(
"xml",
xpath_short("xml", "product/quantity").alias("quantity")
).show(truncate=False)
# Результат:
# +------------------------------------------------+--------+
# |xml |quantity|
# +------------------------------------------------+--------+
# |<product><name>Laptop</name><quantity>32767</quantity></product>|32767 |
# |<product><name>Phone</name><quantity>10000</quantity></product>|10000 |
# +------------------------------------------------+--------+
Примечания
- XPath-выражение должно быть корректным
- Если элемент не найден или не может быть преобразован в короткое целое число, возвращается NULL
- NULL значения в XML возвращают NULL
- Диапазон значений: от -32768 до 32767
- Для работы с XML также используйте:
xpath()
для извлечения значенийxpath_boolean()
для проверки условийxpath_double()
для извлечения чиселxpath_int()
для извлечения целых чиселxpath_long()
для извлечения длинных целых чиселxpath_string()
для извлечения строкxml_tuple()
для извлечения нескольких значений