Необходимо передать этот код SQL для искрового синтаксиса - PullRequest
0 голосов
/ 30 мая 2020

Трудно передать этот код только синтаксису pyspark, без использования Spark. sql

TableD = spark.sql("SELECT Region, SUM(moneyspent)/count(distinct id) as avgspent FROM finaldatatable as Data GROUP BY Region ORDER BY avgspent desc ") TableD.show()

Пожалуйста, помогите, действительно застрял здесь. Спасибо.

1 Ответ

1 голос
/ 30 мая 2020

Проверьте код ниже.

>>> from pyspark.sql import functions as F

>>> df.printSchema()
root
 |-- id: integer (nullable = true)
 |-- region: string (nullable = true)
 |-- moneyspent: double (nullable = true)


>>> df
.groupBy(F.col("region"))
.agg((F.sum(F.col("moneyspent"))/F.countDistinct(F.col("id"))).alias("avgspent"))
.orderBy(F.col("avgspent"),ascending=False)
.show()

...