Udostępnij przez


TableValuedFunction.explode_outer

Zwraca ramkę danych zawierającą nowy wiersz dla każdego elementu z pozycją w danej tablicy lub mapie. W przeciwieństwie do eksplodowania, jeśli tablica/mapa ma wartość null lub jest pusta, zostanie wygenerowana wartość null. Używa domyślnej nazwy col kolumny dla elementów tablicy i keyvalue elementów na mapie, chyba że określono inaczej.

Składnia

spark.tvf.explode_outer(collection)

Parametry

Parameter Typ Description
collection pyspark.sql.Column Kolumna docelowa do pracy.

Zwraca

pyspark.sql.DataFrame: Ramka danych z nowym wierszem dla każdego elementu lub null, jeśli kolekcja jest pusta lub ma wartość null.

Przykłady

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