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 string XML dan menyimpulkan skemanya dalam format DDL.
Syntax
from pyspark.sql import functions as sf
sf.schema_of_xml(xml, options=None)
Parameter-parameternya
| Pengaturan | Tipe | Description |
|---|---|---|
xml |
pyspark.sql.Column atau str |
String XML atau kolom string yang dapat dilipat yang berisi string XML. |
options |
dict, opsional | Opsi untuk mengontrol penguraian. Menerima opsi yang sama dengan sumber data XML. |
Pengembalian Barang
pyspark.sql.Column: representasi string dari XML yang StructType diurai dari XML tertentu.
Examples
Contoh 1: Mengurai XML sederhana dengan satu elemen
from pyspark.sql import functions as sf
df = spark.range(1)
df.select(sf.schema_of_xml(sf.lit('<p><a>1</a></p>')).alias("xml")).collect()
[Row(xml='STRUCT<a: BIGINT>')]
Contoh 2: Mengurai XML dengan beberapa elemen dalam array
from pyspark.sql import functions as sf
df.select(sf.schema_of_xml(sf.lit('<p><a>1</a><a>2</a></p>')).alias("xml")).collect()
[Row(xml='STRUCT<a: ARRAY<BIGINT>>')]
Contoh 3: Mengurai XML dengan opsi untuk mengecualikan atribut
from pyspark.sql import functions as sf
schema = sf.schema_of_xml('<p><a attr="2">1</a></p>', {'excludeAttribute':'true'})
df.select(schema.alias("xml")).collect()
[Row(xml='STRUCT<a: BIGINT>')]
Contoh 4: Mengurai XML dengan struktur kompleks
from pyspark.sql import functions as sf
df.select(
sf.schema_of_xml(
sf.lit('<root><person><name>Alice</name><age>30</age></person></root>')
).alias("xml")
).collect()
[Row(xml='STRUCT<person: STRUCT<age: BIGINT, name: STRING>>')]
Contoh 5: Mengurai XML dengan array berlapis
from pyspark.sql import functions as sf
df.select(
sf.schema_of_xml(
sf.lit('<data><values><value>1</value><value>2</value></values></data>')
).alias("xml")
).collect()
[Row(xml='STRUCT<values: STRUCT<value: ARRAY<BIGINT>>>')]