1
数据导入
1.1
向表中装载数据(
Load
)
1
)语法
![](https://i-blog.csdnimg.cn/blog_migrate/6550f71b659c797e58373ea17455bf05.png)
(1)
load data:
表示加载数据
(2)
local:
表示从本地加载数据到
hive
表;否则从
HDFS
加载数据到
hive
表
(3)
inpath:
表示加载数据的路径
(4)
overwrite:
表示覆盖表中已有数据,否则表示追加
(5)
into table:
表示加载到哪张表
(6)
student:
表示具体的表
(7)
partition:
表示上传到指定分区
2
)实操案例
(0)创建一张表
![](https://i-blog.csdnimg.cn/blog_migrate/96d7d158f35a5f6cdee2b4f15912200c.png)
(1)加载本地文件到 hive
(2)加载 HDFS 文件到 hive 中
上传文件到
HDFS
加载 HDFS 上数据
(3)加载数据覆盖表中已有的数据
上传文件到
HDFS
![](https://i-blog.csdnimg.cn/blog_migrate/a70fc791d1e2d79856dcea25d58bb618.png)
加载数据覆盖表中已有的数据
1.2 通过查询语句向表中插入数据(Insert)
1
)创建一张表
![](https://i-blog.csdnimg.cn/blog_migrate/9902fa4690604a3d9ec2b459cea11b84.png)
2)基本插入数据
3)基本模式插入(根据单张表查询结果)
insert into:以追加数据的方式插入到表或分区,原有数据不会删除
insert overwrite
:
会覆盖表中已存在的数据
注意:
insert
不支持插入部分字段
4
)多表(多分区)插入模式(根据多张表查询结果)
![](https://i-blog.csdnimg.cn/blog_migrate/9b788c34d4fedde0a236bd93f5822fd2.png)
1.3 查询语句中创建表并加载数据(As Select)
根据查询结果创建表(查询的结果会添加到新创建的表中)
![](https://i-blog.csdnimg.cn/blog_migrate/f50b8808ba2a269d83d26315d647e0d6.png)
1.4 创建表时通过 Location 指定加载数据路径
1
)上传数据到
hdfs
上
hive (default)> dfs -mkdir /student;
hive (default)> dfs -put /opt/module/datas/student.txt /student;
2
)创建表,并指定在
hdfs
上的位置
![](https://i-blog.csdnimg.cn/blog_migrate/728d264ce2df83b5bc0e4dd13c180271.png)
3)查询数据
hive (default)> select * from student5;
1.5 Import
数据到指定
Hive
表中
注意:
先用
export
导出后,再将数据导入。
hive (default)> import table student2
from '/user/hive/warehouse/export/student';
2
数据导出
2.1 Insert
导出
1
)将查询的结果导出到本地
![](https://i-blog.csdnimg.cn/blog_migrate/bc44eb6822e7e6adb2b058cab814672f.png)
2)将查询的结果格式化导出到本地
3)将查询的结果导出到 HDFS 上(没有 local)
2.2 Hadoop 命令导出到本地
hive (default)> dfs -get /user/hive/warehouse/student/student.txt
/opt/module/data/export/student3.txt;
2.3 Hive Shell
命令导出
基本语法:(
hive -f/-e
执行语句或者脚本
> file
)
![](https://i-blog.csdnimg.cn/blog_migrate/78737d32dc601c11818eb4c5ed0b2c74.png)
2.4 Export 导出到 HDFS 上
export 和 import 主要用于两个 Hadoop 平台集群之间 Hive 表迁移。
2.6
清除表中数据(
Truncate
)
注意:
Truncate
只能删除管理表,不能删除外部表中数据
hive (default)> truncate table student;