условие «где «с типом даты или меткой времени в spark

#pyspark #apache-spark-sql

Вопрос:

Есть ли способ выполнить такие условия, как df = df.where("dateColumn <= 1950") формат типа даты или метки времени в PySpark?

Ответ №1:

Вы можете просто использовать функцию SQL year (или API Pyspark year ) :

 df = df.where("year(dateColumn) <= 1950")

## OR


from pyspark.sql import functions as F

df = df.where(F.year(F.col("dateColumn")) <= 1950)
 

Ответ №2:

Вы можете неявно извлечь год и отфильтровать

 df.filter(F.year(F.col('dateColumn')) <= 1950)