Partilhar via


TableValuedFunction.explode_outer

Devolve um DataFrame contendo uma nova linha para cada elemento com posição no array ou mapa dado. Ao contrário do explode, se o array/mapa for nulo ou vazio, então o nulo é produzido. Usa o nome col da coluna por defeito para elementos no array e key para value elementos no mapa, salvo indicação em contrário.

Sintaxe

spark.tvf.explode_outer(collection)

Parâmetros

Parâmetro Tipo Description
collection pyspark.sql.Column Coluna alvo para trabalhar.

Devoluções

pyspark.sql.DataFrame: Um DataFrame com uma nova linha para cada elemento, ou nulo se a coleção estiver vazia ou nula.

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|
+----+-----+