Hive:第 5章 DML 数据操作

1. 数据导入(1、2常用,其他了解即可)

1.1 向表中装载数据(Load)(重点掌握)

语法:

hive> load data [local] inpath '数据的 path' [overwrite] into table 
student [partition (partcol1=val1,)];

在这里插入图片描述
案例实操:

  • (0)创建一张表
  • (1)加载本地文件到 hive
hive (default)> load data local inpath 
'/opt/module/hive/datas/student.txt' into table default.student;

在这里插入图片描述
在这里插入图片描述

  • (2)加载 HDFS 文件到 hive 中
    上传文件到 HDFS
hive (default)> dfs -put /opt/module/hive/data/student.txt 
/user/atguigu/hive;

在这里插入图片描述
加载 HDFS 上数据

hive (default)> load data inpath '/user/atguigu/hive/student.txt' into 
table default.student;

在这里插入图片描述

  • (3)加载数据覆盖表中已有的数据
    在这里插入图片描述
hive (default)> load data inpath '/user/atguigu/hive/student.txt' 
overwrite into table default.student;

1.2 通过查询语句向表中插入数据(Insert)(重点掌握)

1)创建一张表

hive (default)> create table student_par(id int, name string) row format 
delimited fields terminated by '\t';

在这里插入图片描述
2)基本插入数据

hive (default)> insert into table student_par 
values(1,'wangwu'),(2,'zhaoliu');

在这里插入图片描述
3)基本模式插入(根据单张表查询结果)

hive (default)> insert overwrite table student_par
 select id, name from student where month='201709';

在这里插入图片描述
4)注意:
在这里插入图片描述
5)多表(多分区)插入模式(根据多张表查询结果)

 insert overwrite table student partition(month='201707')
 select id, name where month='201709'
 insert overwrite table student partition(month='201706')
 select id, name where month='201709';

1.3 查询语句中创建表并加载数据(As Select)

在这里插入图片描述

1.4 Import 数据到指定 Hive 表中

  • 此种方法无意义

2. 数据导出(不重要)

2.1 Insert 导出

1)将查询的结果导出到本地

hive (default)> insert overwrite local directory 
'/opt/module/hive/student'
select * from student;

在这里插入图片描述
在这里插入图片描述
2)将查询的结果格式化导出到本地(解决分隔符问题)

hive(default)>insert overwrite local directory '/opt/module/hive/student'
			 >ROW FORMAT DELIMITED FIELDS TERMINATED BY '\t'
			 >select * from student;

在这里插入图片描述
在这里插入图片描述
3)将查询的结果导出到 HDFS 上(没有 local)

hive (default)> insert overwrite directory '/user/atguigu/student2'
 			  >ROW FORMAT DELIMITED FIELDS TERMINATED BY '\t' 
              >select * from student;

在这里插入图片描述
注意:与2)的区别;

  • 没有local
  • 导出路径可以不存在

2.2 Hadoop 命令导出到本地

hive (default)> dfs -get /user/hive/warehouse/student/student.txt
/opt/module/data/export/student3.txt;

2.3 Hive Shell 命令导出

不常用

2.4 Export 导出到 HDFS 上

不常用

.2.5 Sqoop 导出

后续课程专门讲。

2.6 清除表中数据(Truncate)

注意:Truncate 只能删除管理表,不能删除外部表中数据

hive (default)> truncate table student2;

在这里插入图片描述

在这里插入图片描述

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值