다음을 통해 공유


TableValuedFunction.posexplode_outer

지정된 배열 또는 맵에 위치가 있는 각 요소에 대한 새 행이 포함된 DataFrame을 반환합니다. posexplode와 달리 배열/맵이 null이거나 비어 있으면 행(null, null)이 생성됩니다. 달리 지정하지 않는 한 위치 및 pos 배열의 요소 및 colkey 맵의 요소에 기본 열 이름을 value 사용합니다.

문법

spark.tvf.posexplode_outer(collection)

매개 변수

매개 변수 유형 Description
collection pyspark.sql.Column 작업할 대상 열입니다.

Returns

pyspark.sql.DataFrame: 각 요소에 대한 새 행이 위치와 함께 있는 DataFrame이거나, 컬렉션이 비어 있거나 null인 경우 null 값입니다.

예시

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