从 pyspark agg 函数到 int
Posted
技术标签:
【中文标题】从 pyspark agg 函数到 int【英文标题】:From pyspark agg function to int 【发布时间】:2018-12-09 04:55:25 【问题描述】:我正在按 pyspark 上的条件计算行数
df.agg(count(when((col("my_value")==0),True))).show()
它按我的预期工作。那么如何提取表中显示的值以存储到 Python 变量中呢?
【问题讨论】:
参考:***.com/questions/53667451/… 我看到有人提到了collect
函数,但在我的情况下它不起作用:数据框太大,spark 会抛出错误。
【参考方案1】:
如果你只想计算 Trues (ceros),你最好这样做:
from pyspark.sql import functions as F
pythonVariable = df.where(F.col('my_value') == 0).collect[0][0]
如您所见,无需将 ceros 更改为 True 即可对其进行计数。
【讨论】:
以上是关于从 pyspark agg 函数到 int的主要内容,如果未能解决你的问题,请参考以下文章
计算两列之间的不同集,同时使用 agg 函数 Pyspark Spark Session
为啥 PySpark 中的 agg() 一次只能汇总一列? [复制]
PySpark 中是不是有与 Pandas 聚合函数 any() 等效的函数?