Bagikan melalui


Mengubah

Mengembalikan sebuah array dari elemen-elemen setelah menerapkan transformasi pada setiap elemen dalam array input. Mendukung Spark Connect.

Untuk fungsi Databricks SQL yang sesuai, lihat transform fungsi.

Syntax

from pyspark.databricks.sql import functions as dbf

dbf.transform(col=<col>, f=<f>)

Parameter-parameternya

Pengaturan Tipe Description
col pyspark.sql.Column atau str Nama kolom atau ekspresi.
f function Fungsi yang diterapkan ke setiap elemen array input. Dapat mengambil salah satu formulir berikut: Unary atau Binary (x: Column) -> Column(x: Column, i: Column) -> Column di mana argumen kedua adalah indeks berbasis 0 dari elemen.

Pengembalian Barang

pyspark.sql.Column: array baru elemen yang diubah.

Examples

Contoh 1: Mengubah elemen array dengan fungsi sederhana

from pyspark.databricks.sql import functions as dbf
df = spark.createDataFrame([(1, [1, 2, 3, 4])], ("key", "values"))
df.select(dbf.transform("values", lambda x: x * 2).alias("doubled")).show()
+------------+
|     doubled|
+------------+
|[2, 4, 6, 8]|
+------------+

Contoh 2: Mengubah elemen array menggunakan indeks

from pyspark.databricks.sql import functions as dbf
df = spark.createDataFrame([(1, [1, 2, 3, 4])], ("key", "values"))
def alternate(x, i):
    return dbf.when(i % 2 == 0, x).otherwise(-x)
df.select(dbf.transform("values", alternate).alias("alternated")).show()
+--------------+
|    alternated|
+--------------+
|[1, -2, 3, -4]|
+--------------+