hive分析学生、课程、成绩相关的数据

1.将测试数据存放到?home/yt用户目录下

2.进入Hive,创建表

三张内部表在HDFS上生成了相对应的目录

3.将测试数据装载到对应的表中

load data local inpath '/home/yt/students.txt' overwrite into table student;

4.出现学生信息

5.
查询出成绩大于90的学生姓名,课程名,成绩。
select sname ,cname, grade  from student s inner join sc sc on s.sno =sc.sno 
   inner join course c on c.cno =sc.cno  where grade >90 ;

6.统计每门课程的选课人数,显示课程编号和选课人数。

select  cno ,count(1) from sc group by cno ;

7.统计每门课程的选课人数,显示选课人数大于3的课程名称。

select  cname from  course  where cno  in (   

  select cno from sc group by cno  having count(1)>3 

 );

8.统计每门课程的选课人数,显示课程编号和选课人数,并按选课人数降序排列。

select  cno ,count(1)   num  from sc group by cno   order by num desc; 

9.查看学生信息,按性别分区,在分区内按年龄升序排列。 

set mapred.reduce.tasks =2;

insert overwite local directory '/home/yt/hive'  select * from student  distribute by sex sort by sage;

查看数据

  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值