Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
Koleksiyon işlevi: Anahtar-değer çiftleri belirli bir koşul işlevini karşılayan yeni bir eşleme sütunu döndürür. Spark Connect'i destekler.
İlgili Databricks SQL fonksiyonu için bakınız map_filter fonksiyonu.
Sözdizimi
from pyspark.sql import functions as dbf
dbf.map_filter(col=<col>, f=<f>)
Parametreler
| Parametre | Türü | Description |
|---|---|---|
col |
pyspark.sql.Column veya str |
Filtrelenecek eşlemeyi temsil eden sütunun veya sütun ifadesinin adı. |
f |
function |
Koşulu tanımlayan ikili bir işlev. Bu işlev, giriş eşlemesini filtrelemek için kullanılacak bir boole sütunu döndürmelidir. |
İade
pyspark.sql.Column: Yalnızca koşulu karşılayan anahtar-değer çiftlerini içeren yeni bir eşleme sütunu.
Örnekler
Örnek 1: Basit bir koşulla haritayı filtreleme
from pyspark.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)]
Örnek 2: Anahtarlar üzerindeki bir koşulla haritayı filtreleme
from pyspark.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)]