我是新的Spark用户,以前我来自熊猫背景。这是我的Spark数据框
In[75]: spDF
Out[75]: DataFrame[customer_id: string, name: string]
当我show
他们
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'>
但是当我显示它们时,出现以下错误。
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
任何人都有一个主意,这是什么错误?
答案 0 :(得分:2)
尝试
所以spDF.select('colname')。show()
答案 1 :(得分:1)
你也可以试试:
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()
前两行对于在本地机器上尝试此代码段的人来说是可选的。