当前位置: 首页 > 知识库问答 >
问题:

访问PySpark中的计数列

陈奇希
2023-03-14
code:

mydf = testDF.groupBy(testDF.word).count()
mydf.show()

output:

+-----------+-----+
|       word|count|
+-----------+-----+
|        she| 2208|
|    mothers|   93|
|       poet|   59|
|     moving|   18|
|     active|    6|
|       foot|  169|

我想根据字数降序排列这个数据帧。

code:

countDF = mydf.orderBy(mydf.count.desc())
countDF.show()

Error:

AttributeError: 'function' object has no attribute 'desc'

请告诉我哪里出了问题。

共有1个答案

金阳曜
2023-03-14

点表示法并不是访问列的最佳方法。虽然DataFrame提供了列感知\uuuuu getattr\uuuuu但您可能会遇到类似这样的冲突,名称将解析为一个方法(此处DataFrame.count),因此最好使用括号表示法:

mydf.orderBy(mydf["count"].desc())

col功能:

from pyspark.sql.functions import col

mydf.orderBy(col("count").desc())

以引用列。

 类似资料:
  • ('SPARK_FILES_DIR:',U'/H/TMP/Spark-76BDBD48-CBB4-4E8F-971A-383B899F79B0/userfiles-EE6DCDEC-B320-433B-8491-311927C75FE2')('inputfile name:',[U'empfile1.csv'])('input file path:',U'/H/TMP/Spark-76BDBD48

  • 我在Ubuntu14.04上的ipython笔记本上成功地使用了pyspark[与python 2.7],为spark创建了一个特殊的配置文件,并通过调用$ipython笔记本--profile spark启动了笔记本。创建spark配置文件的机制在许多网站上都给出了,但我使用了这里给出的一个。 $home/.ipython/profile_spark/startup/00-pyspark-set

  • 我想知道PySpark是否支持使用IAM角色进行S3访问。具体来说,我有一个业务限制,我必须承担AWS角色才能访问给定的存储桶。使用boto时可以这样做(因为它是API的一部分),但我无法找到关于PySpark是否支持开箱即用的明确答案。 理想情况下,我希望能够在本地以独立模式运行时扮演一个角色,并将我的SparkContext指向该s3路径。我发现非IAM呼叫通常会随之而来: 是否存在提供IAM

  • 使用指南 - 数据报告 - 流量分析 - 访问时长的计算 访问时长指访客每次在网站访问所停留的时长,即从进入第一个页面到离开最后一个页面的时长。 在传统统计工具下,最后一个页面的关闭时间很难得到,百度统计在技术上进行了升级,能够获取到该页面的关闭时间。 然而用户行为具有多样性,当用户快速关闭浏览器、长时间未对页面进行操作或其它网络原因导致的时候,系统会无法获取到页面的关闭信息,从而使最后一个页面的

  • 访问统计 功能介绍:线状图统计访问店铺记录,直观查看店铺经营情况。 步骤 【用户管理】→【访问统计】。

  • 我正在使用Redis streams构建排队功能。我想防止坏消息阻塞队列,所以我只想在丢弃它们之前尝试N次。 我使用的模式: 使用者首先尝试从挂起列表中自动声明旧消息,如果不存在旧消息,则使用XREADGROUP从队列中拾取消息。然后它对处理过的消息进行xack。 XAUTOCLAIM的文档中提到了一个“重试计数器”,它听起来非常适合我的用例。但是我不知道如何读取消息的重试计数器。