hive加载数据的几种方式
1.从文件中加载数据
建表语句:
CREATE TABLE IF NOT EXISTS `test.test1`( `user_id` int, `name` string, `address` string) row format delimited fields terminated by ',';
注意:建表的分隔符必须与文件中数据的分隔符一致,不然数据无法分割
从本地加载数据:
(1)load方式
load data local inpath '/home/hadoop/data/test7.txt'(本地文件路径) into table test.test1;
(2)put方式
hdfs dfs -put /home/hadoop/data/test1.txt(本地文件路径) /usr/hive/warehouse/test.db/test1/(hdfs路径);
从hdfs加载数据:
load data inpath '/home/hadoop/data/test1.txt'(hdfs路径) into table test.test1;
2.通过其他表加载数据
insert into test.test1 select id, name, address from test.test2;
3.通过as方式建表时加载数据
注意:只能以as方式加载数据,如其他有分区字段,分区字段只以字段形式保留
create table test.test1 as select user_id, name, address from test.test2;
4.手动插入数据(同方式3)
insert into test.test1 (user_id,name,address) values(1,'xiaoming','shanghai'),(2,'xiaolan','beijing');
insert into test.test1 select 1 as user_id,'xiaoming' as name,'shanghai' as address union all select 2 as user_id,'xiaolan' as name,'beijing' as address;
注意:
hive从0.14版本开始支持 insert into table values()的形式。
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步