hive学习 —Hive几种导出数据方式
1.拷贝文件
如果数据文件恰好是用户需要的格式,那么只需要拷贝文件或文件夹就可以。
hadoop fs –cp source_path target_path
2.导出到本地文件系统
--不能使用insert into local directory来导出数据,会报错
--只能使用insert overwrite local directory来导出数据
--hive0.11版本之前,只能使用默认分隔符^A(ascii码是 0001)
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 export --connect jdbc:mysql://host001/test --username root --password szy --table person --export-dir person sqoop export --connect jdbc:mysql://host001/test --username root --password szy --table animal --export-dir animal
- 上一篇: 关于安卓请求服务器的session问题
- 下一篇: 分享课程-Java并发编程与高并发解决方案