Skip to main content
 首页 » 编程设计

python之Pyspark 导入 Column 模块以使用 gt 或 geq

2024年10月01日38bhlsheji

我正在使用 Spark 2.0.0 关注此解决方案 Filtering a spark dataframe based on date

在没有 Column 模块的情况下,当我尝试使用表达式 gt 时出现以下错误。

DataFrame' object has no attribute 'gt' 

我尝试导入 Column 模块以使用 lt、gt、geq 等表达式。

from pyspark.sql.column import * 

我得到错误:

AttributeError: 'module' 对象没有属性 'DataFrame'

关于如何使用 gt 表达式有什么技巧吗?

请您参考如下方法:

pyspark 不支持这些功能,但您仍然可以使用 operator 模块,如下所示:

>>> from operator import ge 
>>> from pyspark.sql import functions as F 
>>> df = spark.range(1, 50) 
>>> df.filter(ge(df.id, F.lit(45))).show() 
# +---+ 
# | id| 
# +---+ 
# | 45| 
# | 46| 
# | 47| 
# | 48| 
# | 49| 
# +---+ 

或者您甚至可以使用 >= 运算符:

>>> df.filter(df.id >= F.lit(45)).show() 
# +---+ 
# | id| 
# +---+ 
# | 45| 
# | 46| 
# | 47| 
# | 48| 
# | 49| 
# +---+