Compartir a través de


TableValuedFunction.posexplode_outer

Devuelve un DataFrame que contiene una nueva fila para cada elemento con posición en la matriz o mapa especificados. A diferencia de posexplode, si la matriz o mapa es null o está vacía, se genera la fila (null, null). Usa el nombre pos de columna predeterminado para la posición y col para los elementos de la matriz y key para value los elementos del mapa, a menos que se especifique lo contrario.

Syntax

spark.tvf.posexplode_outer(collection)

Parámetros

Parámetro Tipo Description
collection pyspark.sql.Column Columna de destino en la que trabajar.

Devoluciones

pyspark.sql.DataFrame: DataFrame con una nueva fila para cada elemento junto con su posición, o valores NULL si la colección está vacía o null.

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