《Hadoop大数据技术与应用》-Hive-常用操作
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
《Hadoop大数据技术与应用》
实验报告
Hive-常用操作
一、实验目的
掌握Hive的使用
二、实验环境
Hadoop2.7.3
Hive2.3.3
源数据:dept.csv,emp.csv
三、实验内容与实验过程及分析(写出详细的实验步骤,并分析实验结果)
实验内容:
1.启动Hadoop,用jps查看进程
2.在桌面打开命令行窗口,通过以下命令,将数据文件dept.csv和emp.csv下载到本地桌面上待用。
wget -P ~ /home/ubuntu/Desktop http://10.90.3.2/HUP/Hadoop/dept.csv
3.将上面两个表拷贝到hdfs的/027/hive目录下,然后查看是否拷贝成功。
hdfs dfs -mkdir -p /027/hive
hdfs dfs -put dept.csv /027/hive
hdfs dfs -put emp.csv /027/hive
hdfs dfs -ls /027/hive
4.创建员工表
create table emp001(empno int,ename string,job string,mgr int,hiredate string,sal int,comm
int,deptno int) row format delimited fields terminated by ',';
5.创建部门表
create table dept001(deptno int,dname string,loc string) row format delimited fields terminated by ',';
6.导入数据
load data inpath '/001/hive/emp.csv' into table emp001;
load data inpath '/001/hive/dept.csv' into table dept001;
7.根据员工的部门号创建分区,表名为emp_part027
create table emp_part001(empno int,ename string,job string,mgr int,hiredate string,sal int,comm int)partitioned by (deptno int)row format delimited fields terminated by ',';
往分区表中插入数据:指明导入的数据的分区
insert into table emp_part001 partition(deptno=10) select empno,ename,job,mgr,hiredate,sal,comm from emp001 where deptno=10;
insert into table emp_part001 partition(deptno=20) select empno,ename,job,mgr,hiredate,sal,comm from emp001 where deptno=20;
insert into table emp_part001 partition(deptno=30) select empno,ename,job,mgr,hiredate,sal,comm from emp001 where deptno=30;
8.创建一个桶表,表名为emp_bucket027
create table emp_bucket001(empno int,ename string,job string,mgr int,hiredate string,sal int,comm int,deptno int)clustered by (job) into 4 buckets row format delimited fields terminated by ',';
通过子查询插入数据
insert into emp_bucket027 select * from emp001;
9.查询所有的员工信息
10.查询员工信息:员工号姓名薪水
select empno,ename,sal from emp001;
11.做报表,根据职位给员工涨工资,把涨前、涨后的薪水显现出来select empno,ename,job,sal,
case job when 'PRESIDENT' then sal+1000
when 'MANAGER' then sal+800
else sal+400
end
from emp001;
四、实验总结(每项不少于20字)
存在问题:传dept.csv文件时出错,出现错误后一直找不到问题所在,各种操作也是很生疏。
解决方法:反复尝试,经过多次尝试熟练各种操作。
回忆老师讲的内容,反复调试。
收获:掌握Hive的使用,对本节基础知识有了更深的认识。
五、教师批语。