共用方式為


TableValuedFunction.explode_outer

回傳一個 DataFrame,其中包含在指定陣列或映射表中每個元素對應位置的新列。 與 explode 不同的是,如果陣列/映射為 null 或為空,則產生 null。 除非另有說明,否則陣列中的元素會使用預設的欄位名稱col,映射keyvalue中的元素則使用和。

語法

spark.tvf.explode_outer(collection)

參數

參數 類型 Description
collection pyspark.sql.Column 要處理的目標欄。

退貨

pyspark.sql.DataFrame:一個為每個元素新增一列的資料框架,若集合為空或為空,則為空。

範例

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|
+----+-----+