Hive(9):hive导出数据的多种方式

本文详细介绍了使用Hive进行数据导出的各种方法,包括insert overwrite、HDFS shell命令、hive-e重定向、sqoop及hive的import和export功能。深入探讨了不同导出方式的特点,如字段分隔符的指定、目标目录的处理以及多级目录的支持等。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1、insert方式

    格式:

insert overwrite [local] directory 'path' select sql;

注释:

(1)不加local表示HDFS路径

(2)将数据保存到本地

insert overwrite local directory '/opt/datas/emp_insert' select * from emp;

(3)输出的目录可以存在,底层会先进行删除输出目录的操作,然后将数据文件写入文件夹中

insert overwrite local directory '/opt/datas/emp_in01' select * from emp;

(4)hive 默认的字段分隔符为ascii码的控制符\001,建表的时候用fields terminated by '\001'
(5)指定分隔符(一般情况下,我们导出都会指定分隔符)

insert overwrite local directory '/opt/datas/emp_in02' row format delimited fields terminated by '\t' select * from emp;

(6)将数据保存到HDFS(旧版本:如果是多级目录,父级目录要事先存在,新版本:随意)

insert overwrite directory '/emp_hdfs' select * from emp;

2、通过HDFS的shell -get命令来获取数据到本地

3、通过hive -e  -f参数将输出结果重定向到本地文件中

 bin/hive -e 'select * from emp' >> hive.log

4、sqoop 

5、hive支持import和export

    关系型数据库也支持这样的操作,但是相对来说没有一些专门的工具功能实现的好.
    官网:https://cwiki.apache.org/confluence/display/Hive/LanguageManual+ImportExport

    export table tb_name to 'hdfs_path'
    import table tb_name from 'hdfs_path'

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值