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
本地上的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 table 表1 select * from 表2 [where条件]
覆盖
insert verwrite table 表1 select * from 表2 [where条件]