Hive TopN案例 及常用数据类型

1.topN案例

1.1 统计每种性别中年龄最大的两条数据

创建表并导入数据到HIVE


hive (ruozedata_d7)> create table hive_rolenumber(
                   > id int,
                   > age int,
                   > name string,
                   > gender string
                   > )
                   > row format delimited fields terminated by ',';
hive (ruozedata_d7)> load data local inpath '/home/hadoop/hive_row_number.txt' overwrite into table hive_rolenumber;
hive (ruozedata_d7)> select * from hive_rolenumber;
OK
hive_rolenumber.id    hive_rolenumber.age hive_rolenumber.name    hive_rolenumber.gender
1    18  zhangsan    M
2    19  lisi    M
3    22  wangwu  F
4    16  zhaoliu F
5    30  tianqi  M
6    26  wangba  F


使用窗口函数 RANK  ROW_NUMBER  DENSE_RANK  CUME_DIST  PERCENT_RANK  NTILE
语法:COUNT(DISTINCT a) OVER (PARTITION BY c ORDER BY d ROWS BETWEEN 1 PRECEDING AND 1 FOLLOWING)


hive (ruozedata_d7)> select id,age,name,gender,
                   > ROW_NUMBER() over(PARTITION BY gender order by age desc) as r
                   > from hive_rolenumber;
Query ID = hadoop_20190722113535_42da2976-7960-419e-a7b9-7cf3faeae12b
Total jobs = 1
Launching Job 1 out of 1
Number of reduce tasks not specified. Estimated from input data size: 1
In order to change the average load for a reducer (in bytes):
  set hive.exec.reducers.bytes.per.reducer=<number>
In order to limit the maximum number of reducers:
  set hive.exec.reducers.max=<number>
In order to set a constant number of reducers:
  set mapreduce.job.reduces=<number>
Starting Job = job_1563262646611_0024, Tracking URL = http://hadoop001:8098/proxy/application_1563262646611_0024/
Kill Command = /home/hadoop/app/hadoop/bin/hadoop job  -kill job_15632
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值