步骤一创建数据库仓库

导入数据

hive影评数据练习 hive数据分析教程_大数据

对small_user.csv数据进行预处理然后得到user_table.txt

hive影评数据练习 hive数据分析教程_hive_02

Hdfs下创建bidata/dataset目录

hive影评数据练习 hive数据分析教程_hive_03

将本地的hongshixing_table.txt上传到hdfs

hive影评数据练习 hive数据分析教程_数据仓库_04

查看数据

hive影评数据练习 hive数据分析教程_hive_05

在hive中创建数据库

hive影评数据练习 hive数据分析教程_hive影评数据练习_06

创建外部表

hive影评数据练习 hive数据分析教程_hive_07

在hive中查看数据

hive影评数据练习 hive数据分析教程_数据分析_08

步骤二进行 hive数据分析

查看表结构

hive影评数据练习 hive数据分析教程_hive_09

简单查询分析

1、用聚合函数 count()计算出表内有多少条行数据

hive影评数据练习 hive数据分析教程_hive影评数据练习_10

2、在函数内部加上 distinct,查出 uid 不重复的数据有多少条

hive影评数据练习 hive数据分析教程_hive_11

3、查询不重复的数据有多少条(为了排除客户刷单情况)

hive影评数据练习 hive数据分析教程_hive_12

关键字条件查询分析

(1)查询 2014 年 12 月 10 日到 2014 年 12 月 13 日有多少人浏览了商品

hive影评数据练习 hive数据分析教程_hive_13

(2)以月的第 n 天为统计单位,依次显示第 n 天网站卖出去的商品的个数

hive影评数据练习 hive数据分析教程_数据分析_14

键字赋予给定值为条件,对其他数据进行分析

1、取给定时间和给定地点,求当天发出到该地点的货物的数量

select count(*) from bigdata_user where province=‘江西’ and visit_data=‘2014-12-12’ and behaiver_pe=‘4’;

hive影评数据练习 hive数据分析教程_hive_15

根据用户行为分析

(1)查询一件商品在某天的购买比例或浏览比例

select count(*) from bigdata_user where visit_data='2014-12-11’and behavior_type=‘4’;

hive影评数据练习 hive数据分析教程_hive影评数据练习_16

select count(*) from bigdata_user where visit_data =‘2014-12-11’; (询有多少用户在 2014-12-11 点击了该店)

hive影评数据练习 hive数据分析教程_大数据_17

根据上面语句得到购买数量和点击数量,两个数相除即可得出当天该商品的购买率。

(2)查询某个用户在某一天点击网站占该天所有点击行为的比例(点击行为包括浏览,加入购物车,收藏,购买)

hive影评数据练习 hive数据分析教程_hive_18

select count(*) from bigdata_user where visit_data=‘2014-12-12’;

hive影评数据练习 hive数据分析教程_hive_19

(3)给定购买商品的数量范围,查询某一天在该网站的购买该数量商品的用户 id

select uid from bigdata_user where behaiver_type=‘4’ and visit_data=‘2014-12-12’ group by uid having count(behaiver_type=‘4’)>5;(查询某一天在该网站购买商品超过 5 次的用户 id)

hive影评数据练习 hive数据分析教程_数据分析_20

用户实时查询分析

某个地区的用户当天浏览网站的次数

create table scan(province STRING,scan INT) COMMENT ‘This is the search of bigdataday’ ROW FORMAT DELIMITED FIELDS TERMINATED BY ‘\t’ STORED AS TEXTFILE; (创建新的数据表进行存

储)

hive影评数据练习 hive数据分析教程_hive影评数据练习_21

insert overwrite table scan select province,count(behaiver_type) from bigdata_user where behaiver_type=‘1’ group by province;

hive影评数据练习 hive数据分析教程_数据仓库_22

select * from scan;(显示结果)

hive影评数据练习 hive数据分析教程_hive_23