TableValuedFunction.explode_outer

Vrátí datový rámec obsahující nový řádek pro každý prvek s pozicí v daném poli nebo mapě. Na rozdíl od rozbalování, pokud je pole nebo mapa null nebo prázdné, vytvoří se hodnota null. Použije výchozí název col sloupce pro prvky v poli a keyvalue pro prvky v mapě, pokud není uvedeno jinak.

Syntaxe

spark.tvf.explode_outer(collection)

Parametry

Parameter Typ Description
collection pyspark.sql.Column Cílový sloupec, na který chcete pracovat.

Návraty

pyspark.sql.DataFrame: Datový rámec s novým řádkem pro každý prvek nebo null, pokud je kolekce prázdná nebo null.

Examples

import pyspark.sql.functions as sf
spark.tvf.explode_outer(sf.array(sf.lit("foo"), sf.lit("bar"))).show()
+---+
|col|
+---+
|foo|
|bar|
+---+
import pyspark.sql.functions as sf
spark.tvf.explode_outer(sf.array()).show()
+----+
| col|
+----+
|NULL|
+----+
import pyspark.sql.functions as sf
spark.tvf.explode_outer(sf.create_map(sf.lit("x"), sf.lit(1.0))).show()
+---+-----+
|key|value|
+---+-----+
|  x|  1.0|
+---+-----+
import pyspark.sql.functions as sf
spark.tvf.explode_outer(sf.create_map()).show()
+----+-----+
| key|value|
+----+-----+
|NULL| NULL|
+----+-----+