Bagikan melalui


TableValuedFunction.explode

Mengembalikan DataFrame yang berisi baris baru untuk setiap elemen dalam array atau peta yang diberikan. Menggunakan nama col kolom default untuk elemen dalam array dan key dan value untuk elemen dalam peta kecuali ditentukan sebaliknya.

Syntax

spark.tvf.explode(collection)

Parameter-parameternya

Pengaturan Tipe Description
collection pyspark.sql.Column Kolom target untuk dikerjakan.

Pengembalian Barang

pyspark.sql.DataFrame: DataFrame dengan baris baru untuk setiap elemen.

Examples

Contoh 1: Meledakkan kolom array

import pyspark.sql.functions as sf
spark.tvf.explode(sf.array(sf.lit(1), sf.lit(2), sf.lit(3))).show()
+---+
|col|
+---+
|  1|
|  2|
|  3|
+---+

Contoh 2: Meledakkan kolom peta

import pyspark.sql.functions as sf
spark.tvf.explode(
    sf.create_map(sf.lit("a"), sf.lit("b"), sf.lit("c"), sf.lit("d"))
).show()
+---+-----+
|key|value|
+---+-----+
|  a|    b|
|  c|    d|
+---+-----+

Contoh 3: Meledakkan array kolom struct

import pyspark.sql.functions as sf
spark.tvf.explode(sf.array(
    sf.named_struct(sf.lit("a"), sf.lit(1), sf.lit("b"), sf.lit(2)),
    sf.named_struct(sf.lit("a"), sf.lit(3), sf.lit("b"), sf.lit(4))
)).select("col.*").show()
+---+---+
|  a|  b|
+---+---+
|  1|  2|
|  3|  4|
+---+---+

Contoh 4: Meledakkan kolom array kosong

import pyspark.sql.functions as sf
spark.tvf.explode(sf.array()).show()
+---+
|col|
+---+
+---+

Contoh 5: Meledakkan kolom peta kosong

import pyspark.sql.functions as sf
spark.tvf.explode(sf.create_map()).show()
+---+-----+
|key|value|
+---+-----+
+---+-----+