Anmerkung
Der Zugriff auf diese Seite erfordert eine Genehmigung. Du kannst versuchen, dich anzumelden oder die Verzeichnisse zu wechseln.
Der Zugriff auf diese Seite erfordert eine Genehmigung. Du kannst versuchen , die Verzeichnisse zu wechseln.
Analysiert eine Spalte, die eine XML-Zeichenfolge enthält, in eine Zeile mit dem angegebenen Schema. Gibt nullim Fall einer nicht analysierten Zeichenfolge zurück.
Syntax
from pyspark.sql import functions as sf
sf.from_xml(col, schema, options=None)
Die Parameter
| Parameter | Typ | Description |
|---|---|---|
col |
pyspark.sql.Column oder str |
Ein Spalten- oder Spaltenname im XML-Format. |
schema |
StructTypeoder pyspark.sql.Column str |
Ein StructType-, Column- oder Python-Zeichenfolgenliteral mit einer DDL-formatierten Zeichenfolge, die beim Analysieren der XML-Spalte verwendet werden soll. |
options |
Diktat, optional | Optionen zum Steuern der Analyse. Akzeptiert die gleichen Optionen wie die XML-Datenquelle. |
Rückkehr
pyspark.sql.Column: eine neue Spalte mit komplexem Typ aus einem bestimmten XML-Objekt.
Examples
Beispiel 1: Analysieren von XML mit einem DDL-formatierten Zeichenfolgenschema
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))]
Beispiel 2: Analysieren von XML mit einem 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}|
+---------------+
Beispiel 3: Analysieren von XML im ArrayType 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]))]
Beispiel 4: Analysieren von XML mithilfe von XML 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]))]