用总计总计列数

时间:2020-10-18 18:44:46

标签: apache-spark-sql pyspark-dataframes

我想添加一个具有以前分组行总数的行。 我有代码:

df_join = ( 
       df.join(df1, df.serialnumber == df1.entityid)
          .distinct()
         .groupBy("SW_version").count().show(truncate=False)

我需要添加总计行,将计数列中的所有值相加。

目前,代码的结果是:

 +-----------+-----+
 |SW_version |count|
 +-----------+-----+
 |SG4J000078C|63   |
 |SG4J000092C|670  |
 |SG4J000094C|43227|
 +-----------+-----+

1 个答案:

答案 0 :(得分:1)

在这种情况下,您可以使用PicklingError Traceback (most recent call last) <ipython-input-123-1bf65fd467e6> in <module>() ----> 1 pickle.dump(vect, open(n_gram_pickle_file, 'wb')) PicklingError: Can't pickle <function <lambda> at 0x7f6d3f7ae6a8>: attribute lookup <lambda> on __main__ failed 代替rollup。汇总将产生另外一个具有groupBy组的行,并为所有行聚合。

对于null这样:

df

+-------+ |version| +-------+ | A| | A| | B| | B| | B| | C| +-------+ 将返回:

df.rollup("version").count().sort("version", ascending=False).show()

您可以在这篇What is the difference between cube, rollup and groupBy operators?

中阅读有关汇总的更多信息。
相关问题