Hive练习题目

----hive 基本操作
 
1-------------数据自己造 
a表:(id int,name string)
b表:(id int,job_id int,num int)
c表:(job_id int,job string)
--建表语句
 
--加载数据
 
 
---------a表和b表进行链接操作,并观察结果--------------
--内连接 
 
 
-- 左连接 left join  小表在前,大表在后  比较常用
 
 
-- 右连接 right join  不常用
 
 
-- 全连接 full join  
 
 
--查找人名和对应工作
 
--使用join  3表关联
 
--找出姓名对应的工作,没有显示无业   没有工作的人显示'无业'  对应job_id 没有job的显示无业
 
 
 
2-------------
person:(name string,station int)
ticket:(station int,price int)
 
--建表
 
--加载数据
 
--按照站数算对应价格 每个人车票多少钱
 
 
-- 10站以上打8折  每个人车票多少钱
 
 
--5站到10站打9折、11站以上打8折  每个人车票多少钱
 
 
3-------------
class:(name string,class string)
score:(name string,chinese int,math int)
 
--创建表
 
--加载数据 
 
 
--问题:计算每个班的语文总成绩和数学总成绩,要求有哪科低于60分,该名学生成绩不计入计算.
 
 
 
 
4.数据
vi pt_stu_nan.txt  男性信息表
095041211001,xiaopan,21
095041211029,xiaopeng,18
095041211089,xiaohong,13
 
vi pt_stu_nv.txt   女性信息表
095041211011,zhangyan,21
095041211034,xiaoli,18
095041211056,xiaoxin,13
 
--创建分区表
 
--添加分区
 
--添加多个分区
 
--查看分区
 
--查看一个分区的描述
 
--加载数据
 
--删除分区
 
 
 
5.数据:
  vi stu.txt
095041211001,xiaopan,21,nan
095041211029,xiaopeng,18,nan
095041211089,xiaohong,13,nan
095041211011,zhangyan,21,nv
095041211034,xiaoli,18,nv
095041211056,xiaoxin,13,nv
 
--创建一个普通外部表关联上面的数据
 
--创建一个分区表 要求按照性别进行分区
 
--添加分区 并且从普通表将数据添加到分区表  两种方式:动态 静态方式
 
--查询每一个分区表的数据
 
 
6.在数据已经落地的情况下,如何创建一个分区表管理已经落地的数据。
 
--模拟落地数据
mkdir -p /home/hadoop/hivedata/2017/07/28
--将上面的stu.txt 复制到目录
cp ./stu.txt /home/hadoop/hivedata/2017/07/28
 
要求:按数据存储目录的日期分区 如何创建分区表关联这个数据 
 
 
7.数据:
vi workers.txt
1   xiaoA   nan 21
2   xiaoB   nv  24
3   xiaoC   nan 21
4   xiaoD   nan 21
5   xiaoE   nan 21
6   xiaoF   nv  26
7   xiaoG   nan 21
8   xiaoH   nan 21
9   xiaoI   nv  27
10  xiaoJ   nv  29
11  xiaoK   nan 21
12  xiaoM   nv  21
 
---创建一个表关联上面的数据
 
--加载数据
 
--创建一个分桶表  分桶字段为id  桶个数 4  
 
--将普通表中的数据插入到分桶表中

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值