Catatan
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba masuk atau mengubah direktori.
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba mengubah direktori.
Memisahkan objek/array varian menjadi beberapa baris yang berisi bidang/elemennya. Skema hasilnya adalah struct<pos int, key string, value variant>.
pos adalah posisi bidang/elemen dalam objek/array induknya, dan value merupakan nilai bidang/elemen.
key adalah nama bidang saat meledakkan objek varian, atau NULL saat meledakkan array varian. Tidak seperti variant_explode, jika varian yang diberikan bukan array/objek varian, termasuk SQL NULL, varian null, dan nilai varian lainnya, maka NULL diproduksi.
Syntax
spark.tvf.variant_explode_outer(input)
Parameter-parameternya
| Pengaturan | Tipe | Description |
|---|---|---|
input |
pyspark.sql.Column |
Kolom input nilai yang akan meledak. |
Examples
Contoh 1: Menggunakan variant_explode_outer dengan array varian
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"|
+---+----+-------+
Contoh 2: Menggunakan variant_explode_outer dengan array varian kosong
from pyspark.sql import functions as sf
spark.tvf.variant_explode_outer(sf.parse_json(sf.lit('[]'))).show()
+----+----+-----+
| pos| key|value|
+----+----+-----+
|NULL|NULL| NULL|
+----+----+-----+
Contoh 3: Menggunakan variant_explode_outer dengan objek varian
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|
+---+---+-----+
Contoh 4: Menggunakan variant_explode_outer dengan objek varian kosong
from pyspark.sql import functions as sf
spark.tvf.variant_explode_outer(sf.parse_json(sf.lit('{}'))).show()
+----+----+-----+
| pos| key|value|
+----+----+-----+
|NULL|NULL| NULL|
+----+----+-----+