Apache spark 如何使用spark dataframe api使用groupBy计算分位数?
我有一些数据如下:Apache spark 如何使用spark dataframe api使用groupBy计算分位数?,apache-spark,spark-dataframe,aggregate-functions,Apache Spark,Spark Dataframe,Aggregate Functions,我有一些数据如下: id country salary 1 US 2000 2 US 3500 3 US 2600 4 JPN 2500 5 JPN 3800 6 CHN 2400 7 CHN 3200 我想按“国家”分组,然后计算工资的75,95,99分位数 我怎么办? 是否有类似计算平均值、总和的方法 df.groupBy("country").agg(sum($"sa
id country salary
1 US 2000
2 US 3500
3 US 2600
4 JPN 2500
5 JPN 3800
6 CHN 2400
7 CHN 3200
我想按“国家”分组,然后计算工资的75,95,99分位数
我怎么办?
是否有类似计算平均值、总和的方法
df.groupBy("country").agg(sum($"salary"))
and
df.groupBy("country").agg(quantileFunction)
这是我为烛台图/框须图计算分位数所做的一些工作,这是一个百分位函数。在您的情况下,这可能会起作用:
df.registerTempTable("table1")
df2 = sqlContext.sql("Select id,
country,
percentile(salary, 75) as 75quant,
percentile(salary, 95) as 95quant,
percentile(salary, 99) as 99quant
from table1
group by country")
这是我为烛台图/框须图计算分位数所做的一些工作,这是一个百分位函数。在您的情况下,这可能会起作用:
df.registerTempTable("table1")
df2 = sqlContext.sql("Select id,
country,
percentile(salary, 75) as 75quant,
percentile(salary, 95) as 95quant,
percentile(salary, 99) as 99quant
from table1
group by country")
我可以在数据帧api中使用百分位,如df.groupBy(“国家”).agg(百分位)?我可以在数据帧api中使用百分位,如df.groupBy(“国家”).agg(百分位)?