Как представить математическое выражение в спарк SQL DSL - PullRequest
0 голосов
/ 30 июня 2019

Хотя я очень предпочитаю использовать прямое SQL вместо DSL, есть случай, когда требуется последнее: когда мы хотим выполнить пользовательское агрегирование для строк группировки.

В чем я не уверен, так это как преобразовать это простое вычисление в DSL:

 100.0 * (count(*)-sum(dep_delayed))/count(*)

Что эквивалентно в DSL? Необходимо ли создавать UDF (/ AggUDF), и если да, то как это будет сделано?

1 Ответ

0 голосов
/ 01 июля 2019

Я наткнулся на ответ сегодня: используйте

 expr("some sql clause")

Таким образом, код может быть реализован как

.agg(expr("100.0 * (count(*)-sum(dep_delayed))/count(*)"))
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...