Nuta
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować się zalogować lub zmienić katalog.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Analizuje ciąg XML i wnioskuje jego schemat w formacie DDL.
Składnia
from pyspark.sql import functions as sf
sf.schema_of_xml(xml, options=None)
Parametry
| Parameter | Typ | Description |
|---|---|---|
xml |
pyspark.sql.Column lub str |
Ciąg XML lub składana kolumna ciągu zawierająca ciąg XML. |
options |
dict, opcjonalnie | Opcje kontrolowania analizowania. Akceptuje te same opcje co źródło danych XML. |
Zwraca
pyspark.sql.Column: ciąg reprezentujący StructType przeanalizowany z danego kodu XML.
Przykłady
Przykład 1. Analizowanie prostego kodu XML przy użyciu jednego elementu
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>')]
Przykład 2. Analizowanie kodu XML z wieloma elementami w tablicy
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>>')]
Przykład 3. Analizowanie kodu XML z opcjami wykluczania atrybutów
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>')]
Przykład 4. Analizowanie kodu XML ze złożoną strukturą
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>>')]
Przykład 5. Analizowanie kodu XML za pomocą zagnieżdżonych tablic
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>>>')]