在 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")
答案 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"]