filtro_de_mapa
Função de coleção: Retorna uma nova coluna de mapa cujo valor key`par` satisfaz uma determinada função predicativa. Compatível com Spark Connect.
Para a função Databricks SQL correspondente, consulte a funçãomap_filter.
Sintaxe
Python
from pyspark.databricks.sql import functions as dbf
dbf.map_filter(col=<col>, f=<f>)
Parâmetros
Parâmetro | Tipo | Descrição |
|---|---|---|
|
| O nome da coluna ou uma expressão de coluna que representa o mapa a ser filtrado. |
|
| Uma função binária que define o predicado. Essa função deve retornar uma coluna booleana que será usada para filtrar o mapa de entrada. |
Devoluções
pyspark.sql.ColumnUma nova coluna de mapa contendo apenas os valores keypar que satisfazem o predicado.
Exemplos
Exemplo 1 : Filtrando um mapa com uma condição simples
Python
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())
Output
[('baz', 32.0), ('foo', 42.0)]
Exemplo 2 : Filtrando um mapa com uma condição na chave
Python
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())
Output
[('bar', 1.0), ('baz', 32.0)]