Wie berechnet man das Perzentil der Spalte in einem DataFrame im Spark?
Ich versuche, das Perzentil einer Spalte in einem DataFrame zu berechnen. Ich kann keine Percentile_approx-Funktion in Spark-Aggregationsfunktionen finden.
Für z.B. in Hive haben wir percentile_approx und wir können es auf folgende Weise benutzen
hiveContext.sql("select percentile_approx("Open_Rate",0.10) from myTable);
Aber ich möchte es aus Leistungsgründen mit Spark DataFrame machen.
Beispieldatensatz
|User ID|Open_Rate|
-------------------
|A1 |10.3 |
|B1 |4.04 |
|C1 |21.7 |
|D1 |18.6 |
Ich möchte herausfinden, wie viele Benutzer in 10 oder 20 Prozent fallen und so weiter. Ich möchte so etwas tun
df.select($"id",Percentile($"Open_Rate",0.1)).show