Bagikan melalui


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