0
点赞
收藏
分享

微信扫一扫

Hive基础05、Hive引入数据


Hive基础05、Hive引入数据_数据

Hive基础05、Hive引入数据

前提

Hive表中的数据不能通过insert语句插入,而是load data语句进行加载,其中加载的数据来源主要包括:

1、本地文件系统加载数据

2、HDFS文件系统加载数据

load data [local] inpath 'filePath' [overwrite] into table tableName

目录

​​Hive基础05、Hive引入数据​​

​​1、本地文件系统加载数据​​

​​2、HDFS文件系统加载数据​​

​​总结​​

1、本地文件系统加载数据

1    admin    管理员    男
2    wangyuyan    王语嫣学霸    女
3    zhaolinger    赵灵儿玲珑天女    女
4    xiaolongnv    杨过的姑姑    女

使用XFTP在【/opt/temp】下上传【info.txt】信息文件 

Hive基础05、Hive引入数据_数据_02

load data local inpath '/opt/temp/info.txt' overwrite into table users;

引入数据成功: 

Hive基础05、Hive引入数据_hive_03

导入完成查询一下看看:

select * from users;

Hive基础05、Hive引入数据_hive_04

上传完成后可以在:【/user/hive/warehouse/mytest.db/users】看到【info.txt】文件

Hive基础05、Hive引入数据_hadoop_05

注:清空表数据语法结构

truncate table table_name;

注意改一下table_name的名称即可。

2、HDFS文件系统加载数据

首先要从hive中退出来,使用【exit;】即可

换个文件【hadoopInfo.txt】

1    文鸯    大将军    男
2    满宠    装逼死得快    男
3    李进    打跑吕布不用怕    男
4    花木兰    巾帼英雄    女

Hive基础05、Hive引入数据_hive_06

这里使用【put】上传

Hive基础05、Hive引入数据_hadoop_07

hadoop fs -put /opt/temp/hadoopInfo.txt /

上传成功: 

Hive基础05、Hive引入数据_hive_08

引入数据

load data inpath '/hadoopInfo.txt' into table users;
select * from users;

Hive基础05、Hive引入数据_大数据_09

上传成功 

Hive基础05、Hive引入数据_数据_10

这里应该先删除数据再引入,或者是使用【overwrite】重写的这个关键字。

这里演示一下删除后再引入的操作:

重新引入一下:

先删除

truncate table users;

退出并重新添加数据:

exit;

上传数据: 

hadoop fs -put /opt/temp/hadoopInfo.txt /

再次进入hive

use mytest;
show tables;
load data inpath '/hadoopInfo.txt' into table users;

引入成功:

Hive基础05、Hive引入数据_hadoop_11

overwrite】重写:

load data local inpath '/opt/temp/info.txt' overwrite into table users;

Hive基础05、Hive引入数据_hadoop_12

总结

两种引入的语法对比:

load data inpath '/hadoopInfo.txt' into table users;
load data local inpath '/opt/temp/info.txt' overwrite into table users;

很明显的可以看到是是否有【local】,也就是是否声明使用本地呗,如果不使用本地,默认的就是使用【HDFS】上面的数据了。

举报

相关推荐

0 条评论