メインコンテンツまでスキップ

テーブル値関数.posexplode_outer

指定された配列またはマップ内の位置にある各要素の新しい行を含む DataFrame を返します。posexplode とは異なり、配列/マップが null または空の場合、行 (null, null) が生成されます。特に指定がない限り、位置にはデフォルトの列名posを使用し、配列内の要素にはcol 、マップ内の要素にはkeyvalue使用します。

構文

Python
spark.tvf.posexplode_outer(collection)

パラメーター

パラメーター

Type

説明

collection

pyspark.sql.Column

取り組むターゲットカラム。

戻り値

pyspark.sql.DataFrame: 各要素の新しい行とその位置を持つ DataFrame。コレクションが空または null の場合は null 値。

Python
import pyspark.sql.functions as sf
spark.tvf.posexplode_outer(sf.array(sf.lit("foo"), sf.lit("bar"))).show()
Output
+---+---+
|pos|col|
+---+---+
| 0|foo|
| 1|bar|
+---+---+
Python
import pyspark.sql.functions as sf
spark.tvf.posexplode_outer(sf.array()).show()
Output
+----+----+
| pos| col|
+----+----+
|NULL|NULL|
+----+----+
Python
import pyspark.sql.functions as sf
spark.tvf.posexplode_outer(sf.create_map(sf.lit("x"), sf.lit(1.0))).show()
Output
+---+---+-----+
|pos|key|value|
+---+---+-----+
| 0| x| 1.0|
+---+---+-----+
Python
import pyspark.sql.functions as sf
spark.tvf.posexplode_outer(sf.create_map()).show()
Output
+----+----+-----+
| pos| key|value|
+----+----+-----+
|NULL|NULL| NULL|
+----+----+-----+