hive UDAF函数 (四)

  1. 个数统计函数: count
    语法: count(), count(expr), count(DISTINCT expr[, expr_.])
    返回值: int
    说明: count(
    )统计检索出的行的个数,包括 NULL 值的行;count(expr)返回指定字段的
    非空值的个数;count(DISTINCT expr[, expr_.])返回指定字段的不同的非空值的个数
    举例:
    hive> select count(*) from lgy;
    20
    hive> select count(distinct t) from lgy;
    10

  2. 总和统计函数: sum
    语法: sum(col), sum(DISTINCT col)
    返回值: double
    说明: sum(col)统计结果集中 col 的相加的结果;sum(DISTINCT col)统计结果中 col 不同值
    相加的结果
    举例:
    hive> select sum(t) from lgy;
    100
    hive> select sum(distinct t) from lgy;
    70

  3. 平均值统计函数: avg
    语法: avg(col), avg(DISTINCT col)
    返回值: double
    说明: avg(col)统计结果集中 col 的平均值;avg(DISTINCT col)统计结果中 col 不同值相加
    的平均值
    举例:
    hive> select avg(t) from lgy;
    50
    hive> select avg (distinct t) from lgy;
    30

  4. 最小值统计函数: min
    语法: min(col)
    返回值: double
    说明: 统计结果集中 col 字段的最小值
    举例:
    hive> select min(t) from lgy;
    20

  5. 最大值统计函数: max
    语法: maxcol)
    返回值: double
    说明: 统计结果集中 col 字段的最大值
    举例:
    hive> select max(t) from lgy;
    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 字段目前只支持
    整数,不支持浮点数类型
    举例:

  10. 中位数函数: percentile
    语法: percentile(BIGINT col, array(p1 [, p2]…))
    返回值: array
    说明: 功能和上述类似,之后后面可以输入多个百分位数,返回类型也为 array,
    其中为对应的百分位数。
    举例:
    select percentile(score,<0.2,0.4>) from lxw1234; 取 0.2,0.4 位置的数据

  11. 近似中位数函数: percentile_approx
    语法: percentile_approx(DOUBLE col, p [, B])
    返回值: double
    说明: 求近似的第 pth 个百分位数,p 必须介于 0 和 1 之间,返回类型为 double,但是
    col 字段支持浮点类型。参数 B 控制内存消耗的近似精度,B 越大,结果的准确度越高。
    默认为 10,000。当 col 字段中的 distinct 值的个数小于 B 时,结果为准确的百分位数
    举例:

  12. 近似中位数函数: percentile_approx
    语法: percentile_approx(DOUBLE col, array(p1 [, p2]…) [, B])
    返回值: array
    说明: 功能和上述类似,之后后面可以输入多个百分位数,返回类型也为 array,
    其中为对应的百分位数。
    举例:

  13. 直方图: histogram_numeric
    语法: histogram_numeric(col, b)
    返回值: array<struct {‘x’,’y’}>
    说明: 以 b 为基准计算 col 的直方图信息。
    举例:
    hive> select histogram_numeric(100,5) from lgy;
    [{“x”:100.0,“y”:1.0}]

  14. 集合去重数:collect_set
    语法: collect_set (col)

返回值: array
说明: 将 col 字段进行去重,合并成一个数组。
举例:
hive> select cookie,ip from lgy;
cookie1 127.0.0.1
cookie1 127.0.0.1
cookie1 127.0.0.2
cookie1 127.0.0.3
hive> select cookie,collect_set(ip) from lgy group by cookie;
cookie1 [“127.0.0.1”,“127.0.0.2”,“127.0.0.3”]
16. 集合不去重函数:collect_list
语法: collect_list (col)
返回值: array
说明: 将 col 字段合并成一个数组,不去重
举例:
hive> select cookie,ip from lgy;
cookie1 127.0.0.1
cookie1 127.0.0.1
cookie1 127.0.0.2
cookie1 127.0.0.3
hive>select cookie,collect_list(ip) from lgy group by cookie;
cookie1 [“127.0.0.1”,“127.0.0.1”,“127.0.0.2”,“127.0.0.3”]
十五、表格生成函数 Table-Generating Functions (UDTF)

  1. 数组拆分成多行:explode
    语法: explode(ARRAY)
    返回值: 多行
    说明: 将数组中的元素拆分成多行显示
    举例:
    hive> select explode(array(1,2,3)) from lgy;
    OK
    123

  2. Map 拆分成多行:explode
    语法: explode(Map)
    返回值: 多行
    说明: 将 Map 中的元素拆分成多行显示
    举例:
    hive> select explode(map(‘k1’,‘v1’,‘k2’,‘v2’)) from lgy;
    OK
    k2 v2
    k1 v1

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值