Как рассчитать процентиль столбца в DataFrame в искре?

Я пытаюсь вычислить процентиль столбца в DataFrame? Я не могу найти любую функцию% процентиля в приложении агрегации Spark.

Например, в Hive у нас есть процентиль_апрокса и мы можем использовать его следующим образом

hiveContext.sql("select percentile_approx("Open_Rate",0.10) from myTable); 

Но я хочу сделать это с помощью Spark DataFrame по соображениям производительности.

Примерный набор данных

|User ID|Open_Rate|
------------------- 
|A1     |10.3     |
|B1     |4.04     |
|C1     |21.7     |
|D1     |18.6     |

Я хочу узнать, сколько пользователей попадают в 10-процентный или 20-процентный и так далее. Я хочу сделать что-то подобное

df.select($"id",Percentile($"Open_Rate",0.1)).show

Ответы на вопрос(2)

Ваш ответ на вопрос