hive 数据导入表的方式

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 数据导入表的方式_第1张图片
本地上的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条件] 

你可能感兴趣的:(hive 数据导入表的方式)