variant_explode_outer

Değişken nesneyi/diziyi, alanlarını/öğelerini içeren birden çok satıra ayırır. Sonuç şeması şeklindedir struct<pos int, key string, value variant>. pos , alanın/öğenin üst nesne/dizisindeki konumudur ve value alan/öğe değeridir. key bir değişken nesnesi patlarken alan adıdır veya değişken dizisini açarken NULL değeridir. variant_explode aksine, verilen değişken SQL NULL, değişken null ve diğer değişken değerleri de dahil olmak üzere değişken dizi/nesne değilse, NULL oluşturulur.

Sözdizimi

spark.tvf.variant_explode_outer(input)

Parametreler

Parametre Türü Description
input pyspark.sql.Column Patlayacak değerlerin sütununu girin.

Örnekler

Örnek 1: Değişken dizi ile variant_explode_outer kullanma

from pyspark.sql import functions as sf
spark.tvf.variant_explode_outer(sf.parse_json(sf.lit('["hello", "world"]'))).show()
+---+----+-------+
|pos| key|  value|
+---+----+-------+
|  0|NULL|"hello"|
|  1|NULL|"world"|
+---+----+-------+

Örnek 2: boş bir değişken dizi ile variant_explode_outer kullanma

from pyspark.sql import functions as sf
spark.tvf.variant_explode_outer(sf.parse_json(sf.lit('[]'))).show()
+----+----+-----+
| pos| key|value|
+----+----+-----+
|NULL|NULL| NULL|
+----+----+-----+

Örnek 3: Değişken nesneyle variant_explode_outer kullanma

from pyspark.sql import functions as sf
spark.tvf.variant_explode_outer(sf.parse_json(sf.lit('{"a": true, "b": 3.14}'))).show()
+---+---+-----+
|pos|key|value|
+---+---+-----+
|  0|  a| true|
|  1|  b| 3.14|
+---+---+-----+

Örnek 4: Boş bir değişken nesnesiyle variant_explode_outer kullanma

from pyspark.sql import functions as sf
spark.tvf.variant_explode_outer(sf.parse_json(sf.lit('{}'))).show()
+----+----+-----+
| pos| key|value|
+----+----+-----+
|NULL|NULL| NULL|
+----+----+-----+