【发布时间】:2026-02-11 23:15:01
【问题描述】:
为什么在下一个示例中,lower 函数不接受 col 名称作为文字和长度?
import pyspark.sql.functions as func
df = spark.createDataFrame([('Tom', 80)], ["name", "height"])
df.select (df.name, func.length('name')).show()
df.select (df.name, func.lower('name')).show()
+----+------------+ |名称|长度(名称)| +----+------------+ |汤姆| 3| +----+------------+ Py4JError:调用 z:org.apache.spark.sql.functions.lower 时出错。痕迹: py4j.Py4JException:方法lower([class java.lang.String])不存在 ……
在文档pyspark.sql.lengthsais 中接受列作为参数,pyspark.sql.lowersais 相同。为什么不接受“姓名”?
如果我换了
df.select (df.name, func.lower(func.col('name'))).show()
运行正常
+----+------------+ |姓名|下级(姓名)| +----+------------+ |汤姆|汤姆| +----+------------+谁能解释一下为什么?
提前致谢。
【问题讨论】:
标签: pyspark-sql pyspark-dataframes