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

被折叠的 条评论
为什么被折叠?



