导出数据到本地
一、导出为txt
- 通过重定向方式,将查询结果写到指定的文件中
hive -e "SELECT * from 表 where dt='';" > cust.txt
- 使用
INSERT OVERWRITE LOCAL DIRECTORY 保存结果到本地
hive -e "
INSERT OVERWRITE LOCAL DIRECTORY '/home/data/cust.txt'
ROW format delimited fields terminated BY '\t'
SELECT * from 表 where dt='';
"
- 使用Hadoop命令保存结果到本地
hdfs dfs -get /user/hive/warehouse/test /root/test;
二、导出为xml
通过重定向方式,将查询结果写到指定的文件中
hive -e "SELECT * from 表 where dt='';" | awk 'BEGIN{print "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<urlset>"}{print "<url>\n<loc>"$0"</loc>\n<lastmod>2014-07-18</lastmod>\n<changefreq>always</changefreq>\n</url>"}END{print "</urlset>"}' > cust.xml
保存结果到HDFS中
- 使用
INSERT OVERWRITE DIRECTORY 命令保存结果到HDFS
hive -e "
INSERT OVERWRITE DIRECTORY '/cust.txt'
ROW format delimited fields terminated BY '\t'
SELECT * from 表 where dt='';
"
- 使用export命令保存结果到HDFS
hive> export table 表 to '/root/use/';
Copying data from file:/tmp/hdfs/849dfd20-a5df-4994-a5fa-2aa44c28f5dc/hive_2019-07-19_23-13-00_527_6322373220241253473-1/-local-10000/_metadata
Copying file: file:/tmp/hdfs/849dfd20-a5df-4994-a5fa-2aa44c28f5dc/hive_2019-07-19_23-13-00_527_6322373220241253473-1/-local-10000/_metadata
Copying data from hdfs://cdh01.cnyimi.cn:8020/user/hive/warehouse/test
Copying file: hdfs://cdh01.cnyimi.cn:8020/user/hive/warehouse/test/cust.txt
OK
|