Databricksでspark.sqlを使ってデータを集計する際に中央値や四分位数などの基本統計量の集計に手間取ったのでメモしておきます。Databricksではpercentile()で中央値と四分位数を集計することができます
中央値を集計する
SELECT percentile(col_name, 0.5) --0.5で中央値になる FROM table_name
四分位数を集計する
SELECT a[0] -- スライスで結果を取り出す ,a[1] ,a[2] FROM ( SELECT percentile_approx(col_name, Array(0.25,0.5,0.75)) AS a --四分位数を行列にする FROM table_name )
参照:https://stackoverflow.com/questions/34519549/how-to-calculate-median-in-spark-sqlcontext-for-column-of-data-type-double
コメント
[…] 関連記事:Databricksで中央値と四分位数を集計する […]