HiveSQL分位関数percentile()の詳細解説+サンプルコード

目次

序文

1.パーセンタイル()

二、percentile_approx()

注意してください、迷子にならないようにしてください。間違いがある場合は、メッセージを残してアドバイスをお願いします。どうもありがとうございました



序文

データアナリストとして、各SQLデータベースの機能やスキルの使い方、特に統計機能の使い方が充実しています。データの中央値、最頻値、分位数を数える方法はいくつかありますが、一般的に実際の業務のほとんどは SQL クエリを記述することであり、Python Pandas を使用してデータ分析を行いたい場合でも、これを行うのは非常に面倒です。データをエクスポートして読み取り、出力結果を再入力します。SQL で単純な問題を直接処理できる場合は、Pandas 処理用にエクスポートするよりもはるかに効率が高くなります。この記事では主にパーセンタイル分位関数の使用法を紹介します. 次のいくつかの記事では主に各SQLでの統計関数の使用法を詳しく説明します. 興味があり、役立つと感じている友人は注意してください. このブログはブロガーが長く維持していきますので、間違いなどありましたらコメント欄でご指摘ください。


HiveSQL での分位数の計算は、主に 2 つの関数percentile()およびpercentile_approx()によって実装されます。

1.パーセンタイル()

関数の使用構文:

percentile(col, p)

パラメータの説明:
col: 計算する列の名前を指定します。列の値は int 型である必要があります。

p: 取得した分位値を指定します。値の範囲は [0,1] で、0.5 の場合は中央値、0.75 の場合は第 3 四分位数などです。

使用例:

SELECT percentile(num,0.2) as two_parts#取二分位数
FROM dbbasename.table

 

さらに、シーケンスの形式で p を入力することもでき、入力シーケンスに対応するパーセンタイルを含むシーケンスも返されます。

SELECT percentile(num,array(0.2,0.4,0.6)) as parts#取二分位数
FROM dbbasename.table

二、percentile_approx()

関数の使用構文:

percentile_approx(DOUBLE col,p,B) 

おおよその p パーセンタイルを見つけます。p は 0 から 1 の間でなければなりません。戻り値の型は double ですが、col フィールドは浮動小数点型をサポートしています。パラメータ B は、メモリ消費量のおおよその精度を制御します。B が大きいほど、結果の精度が高くなります。デフォルト値は 10000 です。col フィールドの個別の値の数が B 未満の場合、結果は正確なパーセンタイルになります。

SELECT percentile_approx(num,0.2,9999) as two_parts#取二分位数
FROM dbbasename.table

 

もちろん、同じようにシーケンスを出力することもできます:

SELECT percentile_approx(num,array(0.25,0.5,0.75)) as parts#取二分位数
FROM dbbasename.table

 

注意してください、迷子にならないようにしてください。間違いがある場合は、メッセージを残してアドバイスをお願いします。どうもありがとうございました

この問題は以上です。私はファンスタックです. ご不明な点がございましたら, お気軽にメッセージを残してください. 次号でお会いしましょう.


おすすめ

転載: blog.csdn.net/master_hunter/article/details/126642158