INSERT插入数据
插入数据-1
使用INSERT语句将数据插入表/分区
- Hive支持从同一个表进行多次插入
- INSERT INTO中TABLE关键字是可选的
- INSERT INTO可以指定插入到哪些字段中
如:INSERT INTO t(x,y,z) - INSERT INTO table_name VALUES,支持插入值列表
- 数据插入必须与指定列数相同
-- INSERT支持OVERWRITE(覆盖)和INTO(追加)
INSERT OVERWRITE/INTO TABLE tablename1
[PARTITION (partcol1=val1, partcol2=val2 ...)]
select fileds,... from tb_other;
插入数据-2
INSERT OVERWRITE TABLE test select 'hello'; -- INSERT不支持的写法
insert into employee select * from ctas_employee; -- 通过查询语句插入
-- 多插入
from ctas_employee --高性能:只需扫描一次输入数据
insert overwrite table employee select *
insert overwrite table employee_internal select *;
-- 插入到分区
from ctas_patitioned
insert overwrite table employee PARTITION (year, month)--典型的ETL模式
select *, '2018', '09';
-- 通过指定列插入(insert into可以省略table关键字)
insert into employee(name) select 'John' from test limit 1;--指定列有利于 data schema changes
-- 通过指定值插入
insert into employee(name) value('Judy'),('John');