Hive数据导入和导出

本文详细介绍了如何使用Hive进行数据导入和导出操作,包括将查询结果保存到新表、本地文件系统及HDFS中;同时,也讲解了如何通过LOAD DATA命令将数据加载到Hive表中,并提供了创建外部表的示例。

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

1.hive数据导出 

很多时候,我们在hive中执行select语句,希望将最终的结果保存到本地文件或者保存到hdfs系统中或者保存到一个新的表中,hive提供了方便的关键词,来实现上面所述的功能。


1.将select的结果放到一个的的表格中(首先要用create table创建新的表格)

insert overwrite table test select uid,name from test2;


2.将select的结果放到本地文件系统中

INSERT OVERWRITE LOCAL DIRECTORY '/tmp/reg_3' SELECT a.* FROM events a;


3.将select的结果放到hdfs文件系统中

INSERT OVERWRITE DIRECTORY '/tmp/hdfs_out' SELECT a.* FROM invites a WHERE a.ds='<DATE>';


2.hive数据导入

LOAD DATA [LOCAL] INPATH ‘/data/userdata’ [OVERWRITE] INTO TABLE user;
#创建表的时候直接指定路径


CREATE EXTERNAL TABLE page_view(
viewTime INT, 
userid BIGINT,
page_url STRING, 
referrer_url STRING,
ip STRING COMMENT 'IP Address of the User',
country STRING COMMENT 'country of origination')
COMMENT 'This is the staging page view table'
ROW FORMAT DELIMITED FIELDS TERMINATED BY '44' LINES TERMINATED BY '12' 
STORED AS TEXTFILE

#创建表之后也可以导入数据到表中

#本机路径(跳板机)

LOAD DATA LOCAL INPATH `/tmp/date.txt` OVERWRITE INTO TABLE page_view PARTITION(pt='2008-06-08')

#Hadoop路径
LOAD DATA INPATH `/tmp/date.txt` OVERWRITE INTO TABLE page_view PARTITION(pt='2008-06-08')

#上面OVERWRITE关键会全表覆盖,如果只是想附加数据,将OVERWRITE去掉即可。   #添加一个分区到表
ALTER TABLE tmp_xx ADD PARTITION (pt='100610') location '/group/mywork/hive/xx/pt=100610' ;

#当然你可以直接从从其它的表拖数据过来 

INSERT OVERWRITE TABLE TMP_T1 SELECT * FROM TMP_T2;

原文连接:http://blog.youkuaiyun.com/alextowarson/article/details/6562907
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值