Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
Odděluje objekt nebo pole varianty do více řádků obsahujících jeho pole nebo prvky. Jeho výsledné schéma je struct<pos int, key string, value variant>.
pos je pozice pole nebo prvku v nadřazeného objektu nebo pole a value je hodnota pole/prvku.
key je název pole při rozbalení objektu varianty nebo má hodnotu NULL při rozbalení pole varianty. Ignoruje všechny vstupy, které nejsou variantní pole nebo objekt, včetně hodnoty SQL NULL, varianty null a dalších hodnot variant.
Syntaxe
spark.tvf.variant_explode(input)
Parametry
| Parameter | Typ | Description |
|---|---|---|
input |
pyspark.sql.Column |
Vstupní sloupec hodnot, který se má rozbalit. |
Examples
Příklad 1: Použití variant_explode s polem variant
from pyspark.sql import functions as sf
spark.tvf.variant_explode(sf.parse_json(sf.lit('["hello", "world"]'))).show()
+---+----+-------+
|pos| key| value|
+---+----+-------+
| 0|NULL|"hello"|
| 1|NULL|"world"|
+---+----+-------+
Příklad 2: Použití variant_explode s objektem varianty
from pyspark.sql import functions as sf
spark.tvf.variant_explode(sf.parse_json(sf.lit('{"a": true, "b": 3.14}'))).show()
+---+---+-----+
|pos|key|value|
+---+---+-----+
| 0| a| true|
| 1| b| 3.14|
+---+---+-----+
Příklad 3: Použití variant_explode s prázdným polem variant
from pyspark.sql import functions as sf
spark.tvf.variant_explode(sf.parse_json(sf.lit('[]'))).show()
+---+---+-----+
|pos|key|value|
+---+---+-----+
+---+---+-----+
Příklad 4: Použití variant_explode s prázdným objektem varianty
from pyspark.sql import functions as sf
spark.tvf.variant_explode(sf.parse_json(sf.lit('{}'))).show()
+---+---+-----+
|pos|key|value|
+---+---+-----+
+---+---+-----+