返回一个数据帧,其中为给定数组或映射中的每个元素按其位置生成新行。 与爆炸不同,如果数组/映射为 null 或为空,则生成 null。 对数组中的元素和keyvalue映射中的元素使用默认列名col,除非另有指定。
Syntax
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|
+----+-----+