다음을 통해 공유


map_filter

컬렉션 함수: 키-값 쌍이 지정된 조건자 함수를 충족하는 새 맵 열을 반환합니다. Spark Connect를 지원합니다.

해당 Databricks SQL 함수에 대해 알아보려면 map_filter 함수를 참조하세요.

문법

from pyspark.databricks.sql import functions as dbf

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

매개 변수

매개 변수 유형 Description
col pyspark.sql.Column 또는 str 필터링할 맵을 나타내는 열 또는 열 식의 이름입니다.
f function 조건자를 정의하는 이진 함수입니다. 이 함수는 입력 맵을 필터링하는 데 사용할 부울 열을 반환해야 합니다.

Returns

pyspark.sql.Column: 조건자를 충족하는 키-값 쌍만 포함하는 새 맵 열입니다.

예시

예제 1: 간단한 조건으로 맵 필터링

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)]

예제 2: 키에 조건이 있는 맵 필터링

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)]