Поделиться через


фильтр

Возвращает массив элементов, для которых предикат содержится в заданном массиве. Поддерживает Spark Connect.

Для соответствующей функции Databricks SQL смотрите функцию filter.

Синтаксис

from pyspark.databricks.sql import functions as dbf

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

Параметры

Параметр Тип Description
col pyspark.sql.Column или str Имя столбца или выражения.
f function Функция, возвращающая логическое выражение. Может принимать одну из следующих форм: Unary (x: Column) -> Column или Binary (x: Column, i: Column) -> Column , где второй аргумент является 0-м индексом элемента.

Возвраты

pyspark.sql.Column: отфильтрованный массив элементов, где данная функция оценивается как True при передаче в качестве аргумента.

Примеры

from pyspark.databricks.sql import functions as dbf
df = spark.createDataFrame(
    [(1, ["2018-09-20",  "2019-02-03", "2019-07-01", "2020-06-01"])],
    ("key", "values")
)
def after_second_quarter(x):
    return dbf.month(dbf.to_date(x)) > 6
df.select(
    dbf.filter("values", after_second_quarter).alias("after_second_quarter")
).show(truncate=False)
+------------------------+
|after_second_quarter    |
+------------------------+
|[2018-09-20, 2019-07-01]|
+------------------------+