Поделиться через


TableValuedFunction.explode_outer

Возвращает кадр данных, содержащий новую строку для каждого элемента с положением в заданном массиве или карте. В отличие от взрыва, если массив или карта имеет значение NULL или пустой, создается значение NULL. Использует имя col столбца по умолчанию для элементов в массиве и keyvalue для элементов в карте, если не указано иное.

Синтаксис

spark.tvf.explode_outer(collection)

Параметры

Параметр Тип Description
collection pyspark.sql.Column Целевой столбец для работы.

Возвраты

pyspark.sql.DataFrame: Кадр данных с новой строкой для каждого элемента или null, если коллекция пуста или null.

Примеры

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