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()的形式。

posted @ 2022-06-30 14:56  玩转大数据  阅读(3396)  评论(0编辑  收藏  举报