Python `';列';对象在显示单个spark列时不可调用

Python `';列';对象在显示单个spark列时不可调用,python,pandas,dataframe,pyspark,Python,Pandas,Dataframe,Pyspark,我是一个新的spark用户,以前我是熊猫的背景。这是我的Spark数据框 In[75]: spDF Out[75]: DataFrame[customer_id: string, name: string] 当我显示它们时 In[75]: spDF.show() Out[75]: +-----------+-----------+ |customer_id| name| +-----------+-----------+ | 25620| MCDonnalds| |

我是一个新的spark用户,以前我是熊猫的背景。这是我的Spark数据框

In[75]:  spDF
Out[75]: DataFrame[customer_id: string, name: string]
当我
显示它们时

In[75]:  spDF.show()
Out[75]:

+-----------+-----------+
|customer_id|       name|
+-----------+-----------+
|      25620| MCDonnalds|
|      25620|  STARBUCKS|
|      25620|        nan|
|      25620|        nan|
|      25620| MCDonnalds|
|      25620|        nan|
|      25620| MCDonnalds|
|      25620|DUNKINDONUT|
|      25620|   LOTTERIA|
|      25620|        nan|
|      25620| MCDonnalds|
|      25620|DUNKINDONUT|
|      25620|DUNKINDONUT|
|      25620|        nan|
|      25620|        nan|
|      25620|        nan|
|      25620|        nan|
|      25620|   LOTTERIA|
|      25620|   LOTTERIA|
|      25620|  STARBUCKS|
+-----------+-----------+
only showing top 20 rows
然后我尝试只查询列

In[76]:  spDF['name']
Out[76]: Column<b'name'>
[76]中的
:spDF['name']
Out[76]:列
但是当我显示它们时,我得到了以下错误

In[79]: spDF['name'].show()
---------------------------------------------------------------------------
TypeError                                 Traceback (most recent call last)
<ipython-input-79-f6676d5e5ca2> in <module>()
----> 1 spDF['name'].show()

TypeError: 'Column' object is not callable
[79]中的
:spDF['name'].show()
---------------------------------------------------------------------------
TypeError回溯(最近一次调用上次)
在()
---->1 spDF['name'].show()
TypeError:“列”对象不可调用
有人知道这个错误是什么吗?

试试看

所以spDF.select('colname').show()

试试看

所以spDF.select('colname').show()

您也可以尝试:

import pyspark
from pyspark.sql import SparkSession

sc = pyspark.SparkContext('local[*]')
spark = SparkSession.builder.getOrCreate()
.
.
.
spDF.createOrReplaceTempView("space")
spark.sql("SELECT name FROM space").show()
前两行是可选的,用户可以在本地计算机中尝试此代码段。

您也可以尝试:

import pyspark
from pyspark.sql import SparkSession

sc = pyspark.SparkContext('local[*]')
spark = SparkSession.builder.getOrCreate()
.
.
.
spDF.createOrReplaceTempView("space")
spark.sql("SELECT name FROM space").show()
顶部的两行对于在本地计算机中尝试此代码段的用户来说是可选的