TableValuedFunction.explode_outer
Retorna um DataFrame contendo uma nova linha para cada elemento com a posição especificada na matriz ou mapa fornecido. Diferentemente de explode, se o array/mapa for nulo ou vazio, então será produzido um valor nulo. Usa o nome de coluna default col para elementos na matriz e key e value para elementos no mapa, a menos que especificado de outra forma.
Sintaxe
Python
spark.tvf.explode_outer(collection)
Parâmetros
Parâmetro | Tipo | Descrição |
|---|---|---|
|
| coluna de destino para trabalhar. |
Devoluções
pyspark.sql.DataFrameUm DataFrame com uma nova linha para cada elemento, ou nulo se a coleção estiver vazia ou for nula.
Exemplos
Python
import pyspark.sql.functions as sf
spark.tvf.explode_outer(sf.array(sf.lit("foo"), sf.lit("bar"))).show()
Output
+---+
|col|
+---+
|foo|
|bar|
+---+
Python
import pyspark.sql.functions as sf
spark.tvf.explode_outer(sf.array()).show()
Output
+----+
| col|
+----+
|NULL|
+----+
Python
import pyspark.sql.functions as sf
spark.tvf.explode_outer(sf.create_map(sf.lit("x"), sf.lit(1.0))).show()
Output
+---+-----+
|key|value|
+---+-----+
| x| 1.0|
+---+-----+
Python
import pyspark.sql.functions as sf
spark.tvf.explode_outer(sf.create_map()).show()
Output
+----+-----+
| key|value|
+----+-----+
|NULL| NULL|
+----+-----+