Catatan
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba masuk atau mengubah direktori.
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba mengubah direktori.
Mengurai kolom yang berisi string XML ke baris dengan skema yang ditentukan. Mengembalikan null, dalam kasus string yang tidak dapat dipisahkan.
Syntax
from pyspark.sql import functions as sf
sf.from_xml(col, schema, options=None)
Parameter-parameternya
| Pengaturan | Tipe | Description |
|---|---|---|
col |
pyspark.sql.Column atau str |
Nama kolom atau kolom dalam format XML. |
schema |
StructType, pyspark.sql.Column atau str |
String StructType, Kolom, atau Python literal dengan string berformat DDL untuk digunakan saat mengurai kolom Xml. |
options |
dict, opsional | Opsi untuk mengontrol penguraian. Menerima opsi yang sama dengan sumber data Xml. |
Pengembalian Barang
pyspark.sql.Column: kolom baru jenis kompleks dari objek XML yang diberikan.
Examples
Contoh 1: Mengurai XML dengan skema string berformat 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))]
Contoh 2: Mengurai XML dengan StructType skema
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}|
+---------------+
Contoh 3: Mengurai XML dengan ArrayType dalam skema
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]))]
Contoh 4: Mengurai XML menggunakan 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]))]