Nota
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
Función de colección: devuelve una nueva columna de mapa cuyos pares clave-valor satisfacen una función de predicado determinada. Soporta Spark Connect.
Para obtener la función SQL de Databricks correspondiente, consulte map_filter function.
Syntax
from pyspark.databricks.sql import functions as dbf
dbf.map_filter(col=<col>, f=<f>)
Parámetros
| Parámetro | Tipo | Description |
|---|---|---|
col |
pyspark.sql.Column o str |
Nombre de la columna o una expresión de columna que representa el mapa que se va a filtrar. |
f |
function |
Función binaria que define el predicado. Esta función debe devolver una columna booleana que se usará para filtrar el mapa de entrada. |
Devoluciones
pyspark.sql.Column: una nueva columna de mapa que contiene solo los pares clave-valor que satisfacen el predicado.
Examples
Ejemplo 1: Filtrado de un mapa con una condición sencilla
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)]
Ejemplo 2: Filtrado de un mapa con una condición en las claves
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)]