次の方法で共有


TableValuedFunction.explode_outer

指定された配列またはマップ内の位置を持つ各要素の新しい行を含む DataFrame を返します。 分解とは異なり、配列/マップが null または空の場合、null が生成されます。 特に指定しない限り、配列内の要素に既定の列名 col を使用し、マップ内の要素の keyvalue を使用します。

構文

spark.tvf.explode_outer(collection)

パラメーター

パラメーター タイプ Description
collection pyspark.sql.Column 作業対象の列。

返品ポリシー

pyspark.sql.DataFrame: 各要素の新しい行を含む 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|
+----+-----+