hive函數之~集合統計函數


1、個數統計函數: count  ***

語法: count(*), count(expr), count(DISTINCT expr[, expr_.])
返回值: int
說明: count(*)統計檢索出的行的個數,包括NULL值的行;count(expr)返回指定字段的非空值的個數;count(DISTINCT expr[, expr_.])返回指定字段的不同的非空值的個數

hive> select count(*) from tableName;

20

hive> select count(distinct t) from tableName;

10

2、總和統計函數: sum  ***

語法: sum(col), sum(DISTINCT col)
返回值: double
說明: sum(col)統計結果集中col的相加的結果;sum(DISTINCT col)統計結果中col不同值相加的結果

hive> select sum(t) from tableName;

100

hive> select sum(distinct t) from tableName;

70

3、平均值統計函數: avg  ***

語法: avg(col), avg(DISTINCT col)
返回值: double
說明: avg(col)統計結果集中col的平均值;avg(DISTINCT col)統計結果中col不同值相加的平均值

hive> select avg(t) from tableName;

50

hive> select avg (distinct t) from tableName;

30

4、最小值統計函數: min  ***

語法: min(col)
返回值: double
說明: 統計結果集中col字段的最小值

hive> select min(t) from tableName;

20

5、最大值統計函數: max  ***

語法: maxcol)
返回值: double
說明: 統計結果集中col字段的最大值

hive> select max(t) from tableName;

120

6、非空集合總體變量函數: var_pop

語法: var_pop(col)
返回值: double
說明: 統計結果集中col非空集合的總體變量(忽略null)

7、非空集合樣本變量函數: var_samp

語法: var_samp (col)
返回值: double
說明: 統計結果集中col非空集合的樣本變量(忽略null)

8、總體標准偏離函數: stddev_pop

語法: stddev_pop(col)
返回值: double
說明: 該函數計算總體標准偏離,並返回總體變量的平方根,其返回值與VAR_POP函數的平方根相同

9、樣本標准偏離函數: stddev_samp

語法: stddev_samp (col)
返回值: double
說明: 該函數計算樣本標准偏離

10.中位數函數: percentile

語法: percentile(BIGINT col, p)
返回值: double
說明: 求准確的第pth個百分位數,p必須介於0和1之間,但是col字段目前只支持整數,不支持浮點數類型

11、中位數函數: percentile

語法: percentile(BIGINT col, array(p1 [, p2]…))
返回值: array<double>
說明: 功能和上述類似,之后后面可以輸入多個百分位數,返回類型也為array<double>,其中為對應的百分位數。

select percentile(score,&lt;0.2,0.4>) from tableName; 取0.2,0.4位置的數據

12、近似中位數函數: percentile_approx

語法: percentile_approx(DOUBLE col, p [, B])
返回值: double
說明: 求近似的第pth個百分位數,p必須介於0和1之間,返回類型為double,但是col字段支持浮點類型。參數B控制內存消耗的近似精度,B越大,結果的准確度越高。默認為10,000。當col字段中的distinct值的個數小於B時,結果為准確的百分位數

13、近似中位數函數: percentile_approx

語法: percentile_approx(DOUBLE col, array(p1 [, p2]…) [, B])
返回值: array<double>
說明: 功能和上述類似,之后后面可以輸入多個百分位數,返回類型也為array<double>,其中為對應的百分位數。

14、直方圖: histogram_numeric

語法: histogram_numeric(col, b)
返回值: array<struct {‘x’,‘y’}>
說明: 以b為基准計算col的直方圖信息。

hive> select histogram_numeric(100,5) from tableName;

[{"x":100.0,"y":1.0}]


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM