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