Bagikan melalui


map_filter

Fungsi koleksi: Mengembalikan kolom peta baru yang pasangan kunci-nilainya memenuhi fungsi predikat tertentu. Mendukung Spark Connect.

Untuk fungsi Databricks SQL yang sesuai, lihat map_filter fungsi.

Syntax

from pyspark.databricks.sql import functions as dbf

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

Parameter-parameternya

Pengaturan Tipe Description
col pyspark.sql.Column atau str Nama kolom atau ekspresi kolom yang mewakili peta yang akan difilter.
f function Fungsi biner yang menentukan predikat. Fungsi ini harus mengembalikan kolom boolean yang akan digunakan untuk memfilter peta input.

Pengembalian Barang

pyspark.sql.Column: Kolom peta baru yang hanya berisi pasangan kunci-nilai yang memenuhi predikat.

Examples

Contoh 1: Memfilter peta dengan kondisi sederhana

from pyspark.databricks.sql import functions as dbf
df = spark.createDataFrame([(1, {"foo": 42.0, "bar": 1.0, "baz": 32.0})], ("id", "data"))
row = df.select(
  dbf.map_filter("data", lambda _, v: v > 30.0).alias("data_filtered")
).head()
sorted(row["data_filtered"].items())
[('baz', 32.0), ('foo', 42.0)]

Contoh 2: Memfilter peta dengan kondisi pada kunci

from pyspark.databricks.sql import functions as dbf
df = spark.createDataFrame([(1, {"foo": 42.0, "bar": 1.0, "baz": 32.0})], ("id", "data"))
row = df.select(
  dbf.map_filter("data", lambda k, _: k.startswith("b")).alias("data_filtered")
).head()
sorted(row["data_filtered"].items())
[('bar', 1.0), ('baz', 32.0)]