Hive导入和导出数据

Hive导入数据

(1)从本地文件导入

load data local inpath 'test.txt' into table test;

(2)从HDFS导入

load data inpath '/data/test.txt' into table test;

(3)从Hive表导入

insert into table test partition (date)  select id, name from test1;

into也可以改为overwrite,即覆盖的意思

Hive也支持多表插入

from test insert into table test1 partition(date) select id, name insert into table test2 select id, name,date where date = '201904';

(4)复制表

create table test1 as select id, name from test;

Hive导出数据

(1)导出到本地

insert overwrite local directory '/home/test' select * from test;

注意:和导入数据到Hive不一样,不能用 insert into 来将数据导出

一般会通过如下操作将几个文件合并一个:

cat /home/test/* >> /home/test.txt

不过,一合并可能会发现非常坑,数据没有使用分隔符分割,根本无法选取,因此在导出本地时候,可以指定分隔符

insert overwrite local directory '/home/test'  row format delimited fields terminated by ',' select * from test;

(2)导出到HDFS

 insert overwrite directory '/data/test' select * from test;

(3)导出到Hive

insert into table test partition (age='25') select id, name  from test;

(4)用-e 或 -f(不建议)

hive -e "select * from test" >> local/test.txt

第四种尽量别用,有可能会把日志数据也输入到本地文件了

参考1
参考2

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

SunnyRivers

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值