HiveQL:数据操作

房东的猫 提交于 2020-02-08 10:02:47

实验目的

  1. 理解LOAD DATA语句:向数据表内加载文件
  2. 理解INSERT语句:将查询结果插入数据表或者覆盖数据表
  3. 硬件环境要求

实验环境

PC机至少4G内存,硬盘至少预留50G空间。

  1. 软件要求

已安装并启动Hadoop

已安装并启动Hive

 

实验要求

  1. 应用LOAD DATA语句向数据表内加载文件
  2. 应用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将覆盖目的数据表的数据。

总结与提高

  1. 提高学生的动手操作能力,使用HiveQL中LOAD DATA语句向数据表内加载文件;使用INSERT语句将查询结果插入数据表或者覆盖数据表。

 

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!