Как рассчитать процентиль столбца в 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