hive 百分比统计

18,691次阅读
没有评论

共计 877 个字符,预计需要花费 3 分钟才能阅读完成。

在hive查询中关于聚合和统计函数中涉及到百分比函数,比如PERCENT_RANK,不过这都是依据某个字段行数统计,有些时候我们是需要统计某个字段的当前值除以这个字段值总和来代表相应的百分比,这个目前没有直接的func来完成,但是在实际的数据抽取过程中又会用到,所以今天碰到这个问题卡了一下,不过还是解决了,记录一下
下面给出在mysql上的实际结果,跟hive结果是一致的,因为阿里云ecs上没有安装hive所以就用mysql代替了
 

mysql> create database t;
Query OK, 1 row affected (0.01 sec)

mysql> use t;
Database changed
mysql> show tables;
Empty set (0.00 sec)

mysql> create table test(id int,num int);
Query OK, 0 rows affected (0.04 sec)

mysql> insert into table test values(1,4);
ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'table test values(1,4)' at line 1
mysql> insert into  test values(1,4);
Query OK, 1 row affected (0.10 sec)

mysql> insert into  test values(2,6);
Query OK, 1 row affected (0.01 sec)

mysql> select id,num/b.d from  (select sum(num)d from test)b,test ;
+------+---------+
| id   | num/b.d |
+------+---------+
|    1 |  0.4000 |
|    2 |  0.6000 |
+------+---------+
2 rows in set (0.00 sec)

mysql>
正文完
请博主喝杯咖啡吧!
post-qrcode
 1
admin
版权声明:本站原创文章,由 admin 2017-05-19发表,共计877字。
转载说明:除特殊说明外本站文章皆由CC-4.0协议发布,转载请注明出处。
评论(没有评论)
验证码