Nuta
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować się zalogować lub zmienić katalog.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Funkcja kolekcji: zwraca nową kolumnę mapy, której pary klucz-wartość spełniają daną funkcję predykatu. Obsługuje program Spark Connect.
Aby uzyskać odpowiednią funkcję SQL usługi Databricks, zobacz map_filter funkcja.
Składnia
from pyspark.databricks.sql import functions as dbf
dbf.map_filter(col=<col>, f=<f>)
Parametry
| Parameter | Typ | Description |
|---|---|---|
col |
pyspark.sql.Column lub str |
Nazwa kolumny lub wyrażenia kolumny reprezentującego mapę do filtrowania. |
f |
function |
Funkcja binarna, która definiuje predykat. Ta funkcja powinna zwrócić kolumnę logiczną, która będzie używana do filtrowania mapy wejściowej. |
Zwraca
pyspark.sql.Column: Nowa kolumna mapy zawierająca tylko pary klucz-wartość, które spełniają predykat.
Przykłady
Przykład 1. Filtrowanie mapy przy użyciu prostego warunku
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)]
Przykład 2. Filtrowanie mapy przy użyciu warunku na kluczach
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)]