Nota
O acesso a esta página requer autorização. Pode tentar iniciar sessão ou alterar os diretórios.
O acesso a esta página requer autorização. Pode tentar alterar os diretórios.
Devolve um DataFrame contendo uma nova linha para cada elemento com posição no array ou mapa dado. Ao contrário do posexplode, se o array/mapa for nulo ou vazio, então a linha (nula, nula) é produzida. Usa o nome pos padrão da coluna para posição, e col para elementos no array e keyvalue para elementos no mapa, salvo indicação em contrário.
Sintaxe
spark.tvf.posexplode_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 juntamente com a sua posição, ou valores nulos se a coleção estiver vazia ou nula.
Examples
import pyspark.sql.functions as sf
spark.tvf.posexplode_outer(sf.array(sf.lit("foo"), sf.lit("bar"))).show()
+---+---+
|pos|col|
+---+---+
| 0|foo|
| 1|bar|
+---+---+
import pyspark.sql.functions as sf
spark.tvf.posexplode_outer(sf.array()).show()
+----+----+
| pos| col|
+----+----+
|NULL|NULL|
+----+----+
import pyspark.sql.functions as sf
spark.tvf.posexplode_outer(sf.create_map(sf.lit("x"), sf.lit(1.0))).show()
+---+---+-----+
|pos|key|value|
+---+---+-----+
| 0| x| 1.0|
+---+---+-----+
import pyspark.sql.functions as sf
spark.tvf.posexplode_outer(sf.create_map()).show()
+----+----+-----+
| pos| key|value|
+----+----+-----+
|NULL|NULL| NULL|
+----+----+-----+