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

questionAnswers(2)

yourAnswerToTheQuestion