Nota:
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
Analiza una columna que contiene una cadena XML en una fila con el esquema especificado. Devuelve null, en el caso de una cadena no analizable.
Syntax
from pyspark.sql import functions as sf
sf.from_xml(col, schema, options=None)
Parámetros
| Parámetro | Tipo | Description |
|---|---|---|
col |
pyspark.sql.Column o str |
Un nombre de columna o columna en formato XML. |
schema |
StructType, pyspark.sql.Column o str |
Un literal de cadena StructType, Column o Python con una cadena con formato DDL que se usará al analizar la columna Xml. |
options |
dict, opcional | Opciones para controlar el análisis. Acepta las mismas opciones que el origen de datos Xml. |
Devoluciones
pyspark.sql.Column: una nueva columna de tipo complejo a partir de un objeto XML determinado.
Examples
Ejemplo 1: Análisis de XML con un esquema de cadena con formato DDL
import pyspark.sql.functions as sf
data = [(1, '''<p><a>1</a></p>''')]
df = spark.createDataFrame(data, ("key", "value"))
# Define the schema using a DDL-formatted string
schema = "STRUCT<a: BIGINT>"
# Parse the XML column using the DDL-formatted schema
df.select(sf.from_xml(df.value, schema).alias("xml")).collect()
[Row(xml=Row(a=1))]
Ejemplo 2: Análisis de XML con un StructType esquema
import pyspark.sql.functions as sf
from pyspark.sql.types import StructType, LongType
data = [(1, '''<p><a>1</a></p>''')]
df = spark.createDataFrame(data, ("key", "value"))
schema = StructType().add("a", LongType())
df.select(sf.from_xml(df.value, schema)).show()
+---------------+
|from_xml(value)|
+---------------+
| {1}|
+---------------+
Ejemplo 3: Análisis de XML con ArrayType en el esquema
import pyspark.sql.functions as sf
data = [(1, '<p><a>1</a><a>2</a></p>')]
df = spark.createDataFrame(data, ("key", "value"))
# Define the schema with an Array type
schema = "STRUCT<a: ARRAY<BIGINT>>"
# Parse the XML column using the schema with an Array
df.select(sf.from_xml(df.value, schema).alias("xml")).collect()
[Row(xml=Row(a=[1, 2]))]
Ejemplo 4: Análisis de XML mediante schema_of_xml
import pyspark.sql.functions as sf
# Sample data with an XML column
data = [(1, '<p><a>1</a><a>2</a></p>')]
df = spark.createDataFrame(data, ("key", "value"))
# Generate the schema from an example XML value
schema = sf.schema_of_xml(sf.lit(data[0][1]))
# Parse the XML column using the generated schema
df.select(sf.from_xml(df.value, schema).alias("xml")).collect()
[Row(xml=Row(a=[1, 2]))]