Hive 加载数据
使用load data 命令
以前加载数据使用
hdfs dfs -put '本地数据' 'hive表对应的HDFS目录下'
从hdfs导入数据,路径可以是目录,会将目录下所有文件导入,但是文件格式必须一致。
下列命令需要在hive shell里执行
// 将HDFS上的/input1目录下面的数据 移动至 students表对应的HDFS目录下,注意是 移动、移动、移动
load data inpath '/user/hive/warehouse/test1.db/students/students.txt' into table students;
移动
// 清空表
truncate table students;
加上 local 关键字 可以将Linux本地目录下的文件 上传到 hive表对应HDFS 目录下 原文件不会被删除。
load data local inpath '/usr/local/soft/data/students.txt' into table students;
本地文件还在
select count(*) from students;
可见有1000条数据
加上 overwrite关键字,覆盖加载。
load data local inpath '/usr/local/soft/data/students.txt' overwrite into table students;
create table xxx as SQL语句
create table student1 as select * from students;
insert into table xxxx SQL语句 (没有as)
将 students表的数据插入到student2 这是复制 不是移动 students表中的表中的数据不会丢失。
// 新建一张表
create table student2 as select id,name,age from students where gender = '女';
// 新建一张表
create table student3 like student2;
// 将 students表的数据插入到students2 这是复制 不是移动 students表中的表中的数据不会丢失
insert into table student3 select * from student2 where age = 21;
select * from student3;
覆盖插入 把into 换成 overwrite。
insert overwrite table student3 select * from student2 where age=22;
select * from student3;
到底啦!关注靓仔学习更多的大数据知识。( •̀ ω •́ )✧