当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


Python pyspark posexplode_outer用法及代码示例


本文简要介绍 pyspark.sql.functions.posexplode_outer 的用法。

用法:

pyspark.sql.functions.posexplode_outer(col)

为给定数组或映射中具有位置的每个元素返回一个新行。与posexplode不同,如果数组/映射为null或为空,则生成行(null,null)。使用默认列名pos 表示位置,col 表示数组中的元素,keyvalue 表示映射中的元素,除非另有说明。

2.3.0 版中的新函数。

例子

>>> df = spark.createDataFrame(
...     [(1, ["foo", "bar"], {"x": 1.0}), (2, [], {}), (3, None, None)],
...     ("id", "an_array", "a_map")
... )
>>> df.select("id", "an_array", posexplode_outer("a_map")).show()
+---+----------+----+----+-----+
| id|  an_array| pos| key|value|
+---+----------+----+----+-----+
|  1|[foo, bar]|   0|   x|  1.0|
|  2|        []|null|null| null|
|  3|      null|null|null| null|
+---+----------+----+----+-----+
>>> df.select("id", "a_map", posexplode_outer("an_array")).show()
+---+----------+----+----+
| id|     a_map| pos| col|
+---+----------+----+----+
|  1|{x -> 1.0}|   0| foo|
|  1|{x -> 1.0}|   1| bar|
|  2|        {}|null|null|
|  3|      null|null|null|
+---+----------+----+----+

相关用法


注:本文由纯净天空筛选整理自spark.apache.org大神的英文原创作品 pyspark.sql.functions.posexplode_outer。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。