Hive练习题目

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/qq_1018944104/article/details/85272888

----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  
 
--将普通表中的数据插入到分桶表中

猜你喜欢

转载自blog.csdn.net/qq_1018944104/article/details/85272888