hive 数据导入表的方式

时间:2021-11-23 06:39:50

1. 本地导入

创建学生表, 将”\t”作为分割

CREATE TABLE student
(id int ,
name string,
sex string
)
row format delimited fields terminated by '\t';

本地文件data.txt如下:(\t分割)

1       zhangsan        man
2 lisi man
3 liwu woman

将本地文件导入到表中
追加:

load data local inpath 'data.txt' into table student;

覆盖:

load data local inpath 'data.txt' overwrite into table student;

在hdfs web上进行文件查看
/user/hive/warehouse/student
hive 数据导入表的方式
本地上的data.txt 文件居然出现在hdfs上, 这说明是先将文件上传到hdfs上,再进行导入到hive表中的;

2.从hdfs导入

那么也可以通过同样的方法将hdfs上的数据文件导入到hive表中,但语法上有略微区别 在hdfs上的文件导入表应该这样写语句
追加:

load data inpath '/user/hive/warehouse/studentdata.txt' into table student2; 

覆盖

load data inpath '/user/hive/warehouse/studentdata.txt' overwrite into table student2;

和本地的语句少个local。

导入数据到表要注意 分割符必须一致, 不然导入后为null

3。使用insert从别的表导入数据

追加

insert into table1 select * from2 [where条件] 

覆盖

insert verwrite table1 select * from2 [where条件]