Я использую spark- sql -2.4.1v и пытаюсь найти квантили, то есть процентиль 0, процентиль 25 и т. Д. c, в каждом столбце моих данных.
Как я делаю несколько процентилей, как извлечь каждый вычисленный процентиль из результатов?
Вот пример, имеющий данные, как показано ниже:
+----+---------+-------------+----------+-----------+
| id| date|total_revenue|con_dist_1| con_dist_2|
+----+---------+-------------+----------+-----------+
|3310|1/15/2018| 0.010680705| 6|0.019875458|
|3310|1/15/2018| 0.006628853| 4|0.816039063|
|3310|1/15/2018| 0.01378215| 4|0.082049528|
|3310|1/15/2018| 0.010680705| 6|0.019875458|
|3310|1/15/2018| 0.006628853| 4|0.816039063|
|3310|1/15/2018| 0.01378215| 4|0.082049528|
|3310|1/15/2018| 0.010680705| 6|0.019875458|
|3310|1/15/2018| 0.010680705| 6|0.019875458|
|3310|1/15/2018| 0.014933087| 5|0.034681906|
|3310|1/15/2018| 0.014448282| 3|0.082049528|
+----+---------+-------------+----------+-----------+
Мне нужно вычислить процентиль 0 , процентиль25 et c, на «con_dist_1», «con_dist_2», et c.
Я делаю ниже для процентиля 50:
val col_list = Array("con_dist_1","con_dist_2")
val median_col_list = partitioned_data.stat.approxQuantile(col_list, Array(0.5),0.0)
println(median_col_list)
Это дает этот результат:
median_col_list: Array[Array[Double]] = Array(Array(4.0), Array(0.034681906))
Как отобразить результаты? Есть ли способ, который результат принадлежит к какому столбцу? Пожалуйста, предложите что-нибудь лучшее для перечисленного.