Создать новый столбец из функции agg по группе - PullRequest
0 голосов
/ 11 марта 2020

Я использовал следующий код для суммирования большого набора данных на агрегированном уровне, чтобы я мог нарисовать график.

a = b.groupBy("year","month").agg(sum("dollar")/sum("value").alias("pct"))

Но при вызове столбца 'pct у меня возникает следующая ошибка:

Py4JJavaError: An error occurred while calling o16779.select.
: org.apache.spark.sql.AnalysisException: cannot resolve '`pct`' given input columns:

Знаете ли вы, как создать новый столбец 'pct' в функции agg, чтобы я мог использовать его позже?

1 Ответ

0 голосов
/ 11 марта 2020

Попробуйте заключить свое деление в (), затем выполните .alias()

a = b.groupBy("year","month").agg((sum("dollar")/sum("value")).alias("pct"))

#now you can select pct column from a
a.select("pct").show()
...