Hive几种导出数据方式

被刻印的时光 ゝ 提交于 2021-02-17 13:54:17

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.txt

6.导出到关系型数据库 放在sqoop中讲。

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!