hive中有两个函数percentile和percentile_approx,可以用来计算分位数。
中位数即2分位数,那么同样可以使用该函数计算。具体使用方如下:
percentile:percentile(col, p) col是要计算的列(值必须为int类型),p的取值为0-1,若为0.5,那么就是2分位数,即中位数。
percentile_approx:percentile_approx(col, p)。列为数值类型都可以。
percentile_approx还有一种形式percentile_approx(col, p,B),参数B控制内存消耗的近似精度,B越大,结果的精度越高。默认值为10000。当col字段中的distinct值的个数小于B时,结果就为准确的百分位数
参考:**https://blog.csdn.net/qq_33637730/article/details/109066665