【问题标题】:unable to display the dataframe using .show() in pyspark无法在 pyspark 中使用 .show() 显示数据框
【发布时间】:2019-04-03 04:15:13
【问题描述】:

代码如下:

from pyspark import *
from pyspark.sql import *

spark=SparkContext()

sc=SQLContext(spark)

valuesA = [('Pirate',1),('Monkey',2),('Ninja',3),('Spaghetti',4)]

TableA = sc.createDataFrame(valuesA,['name','id'])

valuesB = [('Rutabaga',1),('Pirate',2),('Ninja',3),('Darth Vader',4)]

TableB = sc.createDataFrame(valuesB,['name','id'])

TableA.describe('name').show()

错误如下:

---------------------------------------------------------------------------
Py4JJavaError Traceback (most recent call last)
<ipython-input-11-dcdbe2628b72> in <module>
1 TableA.describe('name').show()

【问题讨论】:

  • TableA.describe(['name']).show()
  • @Toshirro - 您使用的是哪个版本的 spark?您是否使用任何 Hadoop 发行版或在本地机器上有火花? TableA.describe('name').show() 这对我有用。我有 Spark 2.3.1
  • pyspark 2.4.0 数据帧是使用上面的代码生成的。唯一的问题是,如果我使用 pyspark.sql.dataframe.DataFrame 的任何方法,它就不起作用但是当我使用文件生成数据帧时,显示方法工作正常。
  • 我正在使用 winutils

标签: pyspark apache-spark-sql pyspark-sql


【解决方案1】:

请尝试使用这样的描述功能:

TableA.describe(['name']).show()

【讨论】:

  • 那是我做的同样的事情
  • 我可以在官方文档中看到,你应该使用 []。
猜你喜欢
  • 2021-12-15
  • 2020-01-25
  • 1970-01-01
  • 2019-11-20
  • 2020-03-16
  • 1970-01-01
  • 1970-01-01
  • 2017-06-13
  • 1970-01-01
相关资源
最近更新 更多