Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
Parseert een kolom met een XML-tekenreeks naar een rij met het opgegeven schema. Retourneert null, in het geval van een onparsbare tekenreeks.
Syntaxis
from pyspark.sql import functions as sf
sf.from_xml(col, schema, options=None)
Parameterwaarden
| Kenmerk | Typologie | Description |
|---|---|---|
col |
pyspark.sql.Column of str |
Een kolom- of kolomnaam in XML-indeling. |
schema |
StructType, pyspark.sql.Column of str |
Een letterlijke tekenreeks StructType, Kolom of Python met een DDL-opgemaakte tekenreeks die moet worden gebruikt bij het parseren van de XML-kolom. |
options |
dicteren, optioneel | Opties voor het beheren van parseren. Accepteert dezelfde opties als de XML-gegevensbron. |
Retouren
pyspark.sql.Column: een nieuwe kolom van een complex type van het opgegeven XML-object.
Voorbeelden
Voorbeeld 1: XML parseren met een tekenreeksschema met DDL-indeling
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))]
Voorbeeld 2: XML parseren met een StructType schema
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}|
+---------------+
Voorbeeld 3: XML parseren met ArrayType in schema
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]))]
Voorbeeld 4: XML parseren met 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]))]