ratakan

Membuat array tunggal dari array. Jika struktur array berlapis lebih dalam dari dua tingkat, hanya satu tingkat penumpukan yang dihapus.

Syntax

from pyspark.sql import functions as sf

sf.flatten(col)

Parameter-parameternya

Pengaturan Tipe Description
col pyspark.sql.Column atau str Nama kolom atau ekspresi yang akan diratakan.

Pengembalian Barang

pyspark.sql.Column: Kolom baru yang berisi array yang diratakan.

Examples

Contoh 1: Meratakan array berlapis sederhana

from pyspark.sql import functions as sf
df = spark.createDataFrame([([[1, 2, 3], [4, 5], [6]],)], ['data'])
df.select(sf.flatten(df.data)).show()
+------------------+
|     flatten(data)|
+------------------+
|[1, 2, 3, 4, 5, 6]|
+------------------+

Contoh 2: Meratakan array dengan nilai null

from pyspark.sql import functions as sf
df = spark.createDataFrame([([None, [4, 5]],)], ['data'])
df.select(sf.flatten(df.data)).show()
+-------------+
|flatten(data)|
+-------------+
|         NULL|
+-------------+

Contoh 3: Meratakan array dengan lebih dari dua tingkat bersarang

from pyspark.sql import functions as sf
df = spark.createDataFrame([([[[1, 2], [3, 4]], [[5, 6], [7, 8]]],)], ['data'])
df.select(sf.flatten(df.data)).show(truncate=False)
+--------------------------------+
|flatten(data)                   |
+--------------------------------+
|[[1, 2], [3, 4], [5, 6], [7, 8]]|
+--------------------------------+

Contoh 4: Meratakan array dengan jenis campuran

from pyspark.sql import functions as sf
df = spark.createDataFrame([([['a', 'b', 'c'], [1, 2, 3]],)], ['data'])
df.select(sf.flatten(df.data)).show()
+------------------+
|     flatten(data)|
+------------------+
|[a, b, c, 1, 2, 3]|
+------------------+