當前位置: 首頁>>編程示例 >>用法及示例精選 >>正文


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。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。