hive-导出数据的方式
2016-07-04 23:08
316 查看
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;
小文件过多的问题,用order by 1
--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.导出到关系型数据库
先操控mysql数据库
QUERY=`mysql -h"10.48" -u'biadmin' -p"A34" << EOF
delete from BI_01.st01_fund_trans_rank;
exit
EOF`
sqoop-export --connect jdbc:mysql://10.:3306/BI_01 --username biin --password Ab34 --table st01_fund_trans_rank --input-null-string '\\N' --input-null-non-string '\\N' --input-fields-terminated-by '\001' --export-dir /dw/st/st01_fund_trans_rank;
如果数据文件恰好是用户需要的格式,那么只需要拷贝文件或文件夹就可以。
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;
小文件过多的问题,用order by 1
--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.导出到关系型数据库
先操控mysql数据库
QUERY=`mysql -h"10.48" -u'biadmin' -p"A34" << EOF
delete from BI_01.st01_fund_trans_rank;
exit
EOF`
sqoop-export --connect jdbc:mysql://10.:3306/BI_01 --username biin --password Ab34 --table st01_fund_trans_rank --input-null-string '\\N' --input-null-non-string '\\N' --input-fields-terminated-by '\001' --export-dir /dw/st/st01_fund_trans_rank;
相关文章推荐
- Semaphore
- 正式环境遇到的坑
- struts2标签 截取字符串 <s:if test=""></if>判断
- jdbcTemplate 实现插入一条数据后吗,返回id
- RISC和CISC的比较&VLIW、EPIC
- Eclipse部署springweb项目,context加载两次解决办法。
- mysql 读写分离 ,mysql_proxy实现
- JavaScript事件机制
- openstack中eventlet使用
- ASP.net如何保证EF操作类线程内唯一
- 软工课设第二周第一天 7.4
- 机器学习进阶书单
- javascript框架设计-种子模块一
- <Android 基础(十三)> shape
- <Android 基础(十三)> shape
- 基于Thrift的跨语言、高可用、高性能、轻量级的RPC框架
- 微博轻量级RPC框架Motan正式开源:支撑千亿调用
- RPC框架性能基本比较测试
- 匿名内部类new Runnable()
- 网页标题多余部分使用省略号代替实现方法(CSS版)