计算 DataBricks 中各个列的总和

Calculating the SUM of individual columns in DataBricks

我正在尝试计算 table 中各个列的总和。 table 总共包含 267 列,大部分是 int,一些是 float,还有一个是字符串。 我显然可以做到:

SELECT SUM(column1) as column1...
FROM db

有没有办法只显示单个列总和的报告,而不必写 sum(ColumnName) 267 次?使用 SQL

我能想到的一种方法是您可以在 Pyspark 中使用循环来执行此操作,示例如下 -

df_dtypes = sparkDF.dtypes

num_col_list = [c if d not in ['string','datetime','timestamp'] for c,d in df_dtypes]

sum_list = [F.sum(F.col(x)).alias(x) for x in num_col_list]

sparkDF.select(*sum_list).show()