Pular para o conteúdo principal

TableValuedFunction.posexplode_outer

Retorna um DataFrame contendo uma nova linha para cada elemento com a posição especificada na matriz ou mapa fornecido. Ao contrário do posexplode, se o array/mapa for nulo ou vazio, a linha (nulo, nulo) é produzida. Usa o nome de coluna default pos para posição e col para elementos na matriz e key e value para elementos no mapa, a menos que especificado de outra forma.

Sintaxe

Python
spark.tvf.posexplode_outer(collection)

Parâmetros

Parâmetro

Tipo

Descrição

collection

pyspark.sql.Column

coluna de destino para trabalhar.

Parâmetro

Tipo

Descrição

collection

pyspark.sql.Column

coluna de destino para trabalhar.

Devoluções

pyspark.sql.DataFrameUm DataFrame com uma nova linha para cada elemento, juntamente com sua posição, ou valores nulos se a coleção estiver vazia ou for nula.

Exemplos

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