DataFrame对象没有属性“ col”

时间:2018-08-12 22:57:38

标签: apache-spark

Spark:权威指南中说:

  

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

例如(在Python / Pyspark中):

df.col("count")

但是,当我在包含列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")

2 个答案:

答案 0 :(得分:2)

您要参考的书描述了Scala / Java API。在PySpark中使用[]

df["count"]

答案 1 :(得分:1)

这本书结合了Scala和PySpark API。

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

在pyspark中使用以下内容从DF获取列。

df.colName
df["colName"]