DataFrame 对象没有属性“col”

Ste*_*hen 5 apache-spark

Spark:权威指南中,它说:

如果需要引用特定DataFrame 的列,可以在特定DataFrame 上使用col 方法。

例如(在 Python/Pyspark 中):

df.col("count")
Run Code Online (Sandbox Code Playgroud)

但是,当我在包含一列的数据帧上运行后一个代码时count,出现错误'DataFrame' object has no attribute 'col'。如果我尝试,column我会收到类似的错误。

这本书是错的,或者我应该怎么做?

我在 Spark 2.3.1 上。数据框是用以下内容创建的:

df = spark.read.format("json").load("/Users/me/Documents/Books/Spark-The-Definitive-Guide/data/flight-data/json/2015-summary.json")
Run Code Online (Sandbox Code Playgroud)

Aar*_*uya 10

您所指的这本书描述了 Scala/Java API。在 PySpark 中使用[]

df["count"]
Run Code Online (Sandbox Code Playgroud)


Lak*_*ini 6

本书结合了 Scala 和 PySpark API。

在 Scala / Java API 中,df.col("column_name") or df.apply("column_name")返回 Column。

而在 pyspark 中,使用以下命令从 DF 获取列。

df.colName
df["colName"]
Run Code Online (Sandbox Code Playgroud)