抓取电影票房总收入排名情况(取前20),删除冗余和空值字,利用Python的PyMysql库连接本地Mysql数据库并导入movies表,可以将数据保存到本地,从而进行数据可视化展示,也可将数据导入到大数据的Hive数仓工具中,...
hive去重多行数据并统计 这个是练习数据部分截图,可以看出有部分重复数据 OK我们先进入hive 然后创建库uid create database uid; 然后创建表uid_id create table uid_id(uid_id int); 然后去重 select...
hive去重多行数据并统计
这个是练习数据部分截图,可以看出有部分重复数据
OK我们先进入hive
然后创建库uid
create database uid;
然后创建表uid_id
create table uid_id(uid_id int);
然后去重
select distinct uid_id from uid;
最后完成会弹一个提示里面有表的数据量就是出重后剩余的数量
select count(distinct AccountID) from CharacterLogin where day="27" and month="10";
select count(distinct AccountID) from CharacterLogin where day="27" and month="10";
hive函数—-集合统计函数 集合统计函数1.个数统计函数: count 语法: count(*), count(expr), count(DISTINCT expr[, expr_.]) 返回值: int 说明: count(*)统计检索出的行的...
集合统计函数1.个数统计函数: count
语法: count(*), count(expr), count(DISTINCT expr[, expr_.])
返回值: int
说明: count(*)统计检索出的行的个数,包括NULL值的行;count(expr)返回指定字段的非空值的个数;count(DISTINCTexpr[, expr_.])返回指定字段的不同的非空值的个数
举例:
hive> select count(*) from lxw_dual;
hive> select count(distinct t) from lxw_dual;
2.总和统计函数: sum
语法: sum(col), sum(DISTINCT col)
返回值: double
说明: sum(col)统计结果集中col的相加的结果;sum(DISTINCT col)统计结果中col不同值相加的结果
举例:
hive> select sum(t) from lxw_dual;
hive> select sum(distinct t) from lxw_dual;
3.平均值统计函数: avg
语法: avg(col), avg(DISTINCT col)
返回值: double
说明: avg(col)统计结果集中col的平均值;avg(DISTINCT col)统计结果中col不同值相加的平均值
举例:
hive> select avg(t) from lxw_dual;
hive> select avg (distinct t) from lxw_dual;
4.最小值统计函数: min
语法: min(col)
返回值: double
说明:统计结果集中col字段的最小值
举例:
hive> select min(t) from lxw_dual;
5.最大值统计函数: max
语法: maxcol)
返回值: double
说明:统计结果集中col字段的最大值
举例:
hive> select max(t) from lxw_dual;
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
说明:功能和上述类似,之后后面可以输入多个百分位数,返回类型也为array,其中为对应的百分位数。
举例:
select percentile(score,) from lxw_dual;取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
说明:功能和上述类似,之后后面可以输入多个百分位数,返回类型也为array,其中为对应的百分位数。
举例:
14.直方图:histogram_numeric
语法: histogram_numeric(col, b)
返回值: array
说明:以b为基准计算col的直方图信息。
举例:
hive> select histogram_numeric(100,5) from lxw_dual;
[{"x":100.0,"y":1.0}]
Hive常用统计函数 第一组:SUM、AVG、MIN、MAX 第二组:NTILE、ROW_NUMBER、RANK、DENSE_RANK、CUME_DIST、PERCENT_RANK 第三组:LAG、LEAD、FIRST_VALUE、LAST_VALUE *第四组:GROUPING SETS、GROUPING_ID、CUBE...

hive统计函数

第一组:SUM、AVG、MIN、MAX
sum: sum(score) over (partition by a order by b)
当over()语句置空时,窗口默认返回所有行
第二组:NTILE、ROW_NUMBER、RANK、DENSE_RANK、CUME_DIST、PERCENT_RANK
NTILE(N):分组数据按照order by子句顺序切分成N片,返回当前行切片值,如果切片不均匀,默认增加第一个切片的分布。
ROW_NUMBER():分组数据按照order by子句顺序,生成分组内记录的序列。
RANK():分组数据按照order by子句顺序,生成数据项在分组中的排名,排名相等会在名次中留下空位。
DENSE_RANK():分组数据按照order by子句顺序,生成数据项在分组中的排名,排名相等不会在名次中留下空位。
CUME_DIST():分组数据按照order by子句顺序,生成(分组内小于等于当前值的行数) / (分组内总行数)的值。
PERCENT_RANK():分组数据按照order by子句顺序,生成(分组内当前行的RANK值-1) / (分组内总行数-1)。
第三组:LAG、LEAD、FIRST_VALUE、LAST_VALUE
本组函数不支持Window子句。
LAG(col,n,DEFAULT)*:分组数据按照order by子句顺序,用于统计窗口内向上数第n行的col列值, DEFAULT为默认值(当向上数第n行为NULL时,取默认值,如不指定,则为NULL),行数值以ROW_NUMBER()为标准。
LEAD(col,n,DEFAULT):与LAG相反,LEAD用于统计窗口内向下数第n行的col列值,DEFAULT为默认值(当向下数第n行为NULL时,取默认值,如不指定,则为NULL),行数值以ROW_NUMBER()为标准。
FIRST_VALUE(col):返回分组内部截止到当前行的第一个值。
LAST_VALUE(col):返回分组内部截止到当前行的最后一个值。
需要注意的是,FIRST_VALUE()和LAST_VALUE()在使用时,若不指定排序方式,则按照文件中的偏移量进行排序,会出现错误的结果。应用时需要注意的是,因FIRST_VALUE()和LAST_VALUE()都是取截止到当前行的极值,所以若要取分组内的第一个值,可以使用FIRST _VALUE() OVER(PARTITION BY column1 ORDER BY column2),如果要取分组内的最后一个值,不能使用LAST _VALUE() OVER(PARTITION BY column1 ORDER BY column2),该方法返回的是当前行的值,应该使用FIRST _VALUE() OVER(PARTITION BY column1 ORDER BY column2 DESC)。
第四组:GROUPING SETS、GROUPING_ID、CUBE、ROLLUP
在一个GROUP BY查询中,根据不同的维度组合进行聚合,等价于将不同维度的GROUP BY结果集进行UNION ALL,如果需要多种维度的聚合,单纯使用GROUP BY的形式会大大增加代码量,此时我们可以根据应用场景的不同选择本组内的窗口函数进行分组聚合。
GROUPING__ID:用于标示结果属于哪一个分组,分组序号遵从CUBE中的分组序号,注意这里’_’是两个。
CUBE:与GROUPING SETS只对集合中的维度进行分组不同,CUBE是对GROUP BY维度的所有组合进行聚合。
ROLLUP:ROLLUP的结果集是CUBE的子集,以最左侧的维度为主,从该维度进行层级聚合,包括全维度。
需求: 用户访问web的top统计,比如用户1访问的top 3 web: web1, ...1)准备测试数据/home/hadoop/hive-1.1.0/test/web.txt: user1,web1 user1,web2 user1,web2 user1,web3 user1,web3 user1,web3 user1,web4 user1,we
第十二天 -Hive基本操作 -Hive导入数据、统计数据 -HiveJDBC操作Hive 第十二天 -Hive基本操作 -Hive导入数据、统计数据 -HiveJDBC操作Hive 一、Hive基础知识补充 概念Hive基本操作(二) 二、Hive SQL...
我们生产环境用的hadoop+hive,为了安全起见,没有给hdfs账号,而是在系统上创建了一个新的普通用户分配给别人,但是用普通账户登录后进入hive统计数据报没有权限(hive中执行sql语句),报错信息截图如下: ...
1、数据描述:用户的历史微博数据,截止到20131215, 压缩后221MB,解压后878MB,整个数据有1206个小文件,所有数据的格式均是json格式。 2、数据样例: [{"beCommentWeiboId":"","beForwardWeiboId":"","catchTime...
参照:Hive汇总统计数据自动化传输到Mysql数据库--->...