Bagikan melalui


skema_dari_XML

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>>>')]