Nuta
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować się zalogować lub zmienić katalog.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Zwraca ramkę danych zawierającą nowy wiersz dla każdego elementu z pozycją w danej tablicy lub mapie. W przeciwieństwie do funkcji posexplode, jeśli tablica/mapa ma wartość null lub jest pusta, zostanie wygenerowany wiersz (null, null). Używa domyślnej nazwy pos kolumny dla pozycji oraz col elementów w tablicy i keyvalue dla elementów na mapie, chyba że określono inaczej.
Składnia
spark.tvf.posexplode_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 wraz z jego położeniem lub wartościami null, jeśli kolekcja jest pusta lub ma wartość null.
Przykłady
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|
+----+----+-----+