Como calcular o percentil da coluna em um DataFrame no spark?
Estou tentando calcular o percentil de uma coluna em um DataFrame? Não consigo encontrar nenhuma função percentil_prox nas funções de agregação do Spark.
Por ex. no Hive, temos percentil_aprox e podemos usá-lo da seguinte maneira
hiveContext.sql("select percentile_approx("Open_Rate",0.10) from myTable);
Mas eu quero fazer isso usando o Spark DataFrame por razões de desempenho.
Conjunto de dados de amostra
|User ID|Open_Rate|
-------------------
|A1 |10.3 |
|B1 |4.04 |
|C1 |21.7 |
|D1 |18.6 |
Quero descobrir quantos usuários se enquadram no percentil 10 ou 20 e assim por diante. Eu quero fazer algo assim
df.select($"id",Percentile($"Open_Rate",0.1)).show