Hive导入导出数据的方法

Hive导入数据的方式

 

官网文档:

LOAD DATA [LOCAL] INPATH 'filepath' [OVERWRITE] INTO TABLE tablename [PARTITION (partcol1=val1, partcol2=val2 ...)]

 

 

 

local参数为原始文件存储的位置,位置可以是

  •  本地local
  •  hdfs文件系统

 

overwrite参数

  •  使用时会将表中的数据覆盖
  •  不使用会在表中追加数据

 

partition参数为分区表加载

 

eg

 加载本地文件到hive表中

load data local inpath '/opt/datas/emp.txt' into table default.emp;

 加载hdfs文件到hive表中

  load data inpath '/user/user1/hive/datas/emp.txt' into table default.emp;

 加载数据覆盖表中已有的数据

  load data local inpath '/opt/datas/emp.txt' overwrite into table default.emp;

 创建表时通过insert加载

  create table default.emp_ci like emp;

  insert into table default.emp_ci select * from default.emp;

 创建表的时候通过location指定加载

  ...

 

Hive导出数据的方式

 

第一种,导出在本地文件中

  insert overwrite local directory '/opt/datas/hive_exp_emp' select * from default.emp;

 

直接导出会有乱码,根据原有的表结构进行导出

insert overwrite local directory '/opt/datas/hive_exp_emp'

row format delimited fields terminated by '\t'

collection items terminated by '\n'

select * from default.emp;

 

注:

row format delimited fields terminated by '\t'

collection items terminated by '\n'

每行中的数据以\t隔开,每行数据以\n结束。

 

第二种,导出在本地文件中

  bin/hive -e "select * from default.emp;" > /opt/datas/exp_res.txt

 

第三种,导出在hdfs文件系统中

  insert overwrite directory '/user/user1/hive/hive_exp_emp' select * from default.emp;

转载于:https://www.cnblogs.com/gtx690/p/11353360.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值