HiveQL:数据操作
实验目的
- 理解LOAD DATA语句:向数据表内加载文件
- 理解INSERT语句:将查询结果插入数据表或者覆盖数据表
- 硬件环境要求
实验环境
PC机至少4G内存,硬盘至少预留50G空间。
- 软件要求
已安装并启动Hadoop
已安装并启动Hive
实验要求
- 应用LOAD DATA语句向数据表内加载文件
- 应用INSERT语句将查询结果插入数据表或者覆盖数据表
实验步骤
第6章 HiveQL:数据操作
1 实验准备
l 本地/usr/local/data目录下创建文件sample.txt,并插入以下内容:
1201 Gopal 45000 Technical manager
1202 Manis 45000 Proof reader
1203 Masth 40000 Technical writer
1204 Kiran 40000 Hr Admin
1205 Kranthi 30000 Op Admin
l 创建employee表
所用命令或代码:
# create table employee (id int,name string,salary int,position string) row format delimited fields terminated by '\t' ;
2 应用LOAD DATA语句向数据表内加载文件
将本地/usr/local/data目录下文件sample.txt内容装载到employee表中:
所用命令或代码:
# LOAD DATA LOCAL INPATH '/usr/local/data/sample.txt' overwrite into table employee;
查询表内数据:
所使用命令代码:
# select * from employee;
3 应用INSERT语句将查询结果插入数据表
l insert into方式插入一条数据:
所使用命令代码:
# insert into employee(id,name,salary ,position ) values(1206,'tom',50000,'admin');
查询插入结果:
l 应用INSERT语句将查询结果插入数据表:
创建备份表employee1:
所使用命令:
# create table employee1 (id int,name string,salary int,position string) row format delimited fields terminated by '\t' ;
将查询结果追加到表:
所使用命令:
# INSERT INTO TABLE employee1 select * from employee;
查询插入结果:
再次插入数据:
查询结果显示:
4 应用INSERT语句将查询结果覆盖数据表
应用INSERT语句将查询结果覆盖目的数据表
所使用命令:
# INSERT overwrite TABLE employee1 select * from employee;
查询结果显示:
INSERT语句后跟overwrite将覆盖目的数据表的数据。
总结与提高
- 提高学生的动手操作能力,使用HiveQL中LOAD DATA语句向数据表内加载文件;使用INSERT语句将查询结果插入数据表或者覆盖数据表。