PySpark 中如何为返回 Column 类型的函数添加类型提示?
PySpark 返回Column类型函数的类型提示解决方案
正确写法
你代码中TODO位置需要填写 pyspark.sql.Column,修正后的完整代码如下:
import pyspark.sql.functions as F from pyspark.sql import Column def get_some_filter_expression(col_string_name: str) -> Column: return F.col(col_string_name)
如果你不想提前导入Column类,也可以用Python类型提示的前向引用写法,直接写全路径:
import pyspark.sql.functions as F def get_some_filter_expression(col_string_name: str) -> "pyspark.sql.Column": return F.col(col_string_name)
常见误区说明
很多开发者刚开始会误用spark.sql.types下的类型作为此处的类型提示,这是错误的:
spark.sql.types下的StringType、IntegerType等属于Schema元数据类型,仅用来定义列的存储数据格式、表结构规则- 代码中
F.col()返回的是PySpark的列表达式/列引用对象,对应的类型是pyspark.sql.Column,二者用途完全不同,不要混淆。
内容的提问来源于stack exchange,提问作者Joop
相关产品推荐
相关产品推荐

