欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

Hive几种导出数据方式

程序员文章站 2022-06-23 20:46:33
...

Hive几种导出数据方式

 

1.拷贝文件

 

如果数据文件恰好是用户需要的格式,那么只需要拷贝文件或文件夹就可以。

hadoop fs –cp source_path target_path

 

2.导出到本地文件系统

 

--不能使用insert into local directory来导出数据,会报错

--只能使用insert overwrite local directory来导出数据

 

--hive0.11版本之前,只能使用默认分隔符^A(ascii码是\00001)

insert overwrite local directory '/home/sopdm/wrk'

select id,name,tel,age from sopdm.wyp; 

 

--hive0.11版本之后,可以指定分隔符

insert overwrite local directory '/home/sopdm/wrk'

row format delimited

fields terminated by ','

select id,name,tel,age from sopdm.wyp;

 

--导出数据到多个输出文件夹

from employees se

insert overwrite local directory ‘/tmp/or_employees’

     select * se where se.cty=’US’ and se.st=’OR’

insert overwrite local directory ‘/tmp/ca_employees’

     select * se where se.cty=’US’ and se.st=’CA’

 

3.导出到HDFS

 

--比导出文件到本地文件系统少了一个local

insert overwritedirectory '/home/sopdm/wrk'

select id,name,tel,age from sopdm.wyp;

 

--hive0.11版本之后,可以指定分隔符

insert overwritedirectory '/home/sopdm/wrk'

row format delimited

fields terminated by ','

select id,name,tel,age from sopdm.wyp;

 

4.导出到hive的另一张表


insert into table sopdm.wyp2

partition(age='25')

select id,name,tel,age from sopdm.wyp;

 

5.使用hive的-e和-f参数命令导出数据

 

--使用hive的-e参数

hive –e “select * from wyp” >> /local/wyp.txt

 

--使用hive的-f参数, wyp.hql中为hql语句

hive –f wyp.hql >> /local/wyp2.tx

注: 这种导出方式能够将数据导出到一个文件,前面几种导出方式是可能会生成多个文件

 

本文转自:http://gaoxianwei.iteye.com/blog/2158475

相关标签: hive 数据导出