Hive几种导出数据方式

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

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

猜你喜欢

转载自daizj.iteye.com/blog/2210324