Hive数据导出的几种方式

参考资料地址:http://blog.csdn.net/qianshangding0708/article/details/50394789

感谢分享

(1)导出到本地文件系统

[java] view plain copy
  1. hive> INSERT OVERWRITE LOCAL DIRECTORY '/home/hadoop/output' ROW FORMAT DELIMITED FIELDS TERMINATED by ',' select * from testA;
  2. Total jobs = 1
  3. Launching Job 1 out of 1
  4. Number of reduce tasks is set to 0 since there's no reduce operator
  5. Starting Job = job_1451024007879_0001, Tracking URL = http://hadoopcluster79:8088/proxy/application_1451024007879_0001/
  6. Kill Command = /home/hadoop/apache/hadoop-2.4.1/bin/hadoop job  -kill job_1451024007879_0001
  7. Hadoop job information for Stage-1: number of mappers: 1; number of reducers: 0
  8. 2015-12-25 17:04:30,447 Stage-1 map = 0%,  reduce = 0%
  9. 2015-12-25 17:04:35,616 Stage-1 map = 100%,  reduce = 0%, Cumulative CPU 1.16 sec
  10. MapReduce Total cumulative CPU time: 1 seconds 160 msec
  11. Ended Job = job_1451024007879_0001
  12. Copying data to local directory /home/hadoop/output
  13. Copying data to local directory /home/hadoop/output
  14. MapReduce Jobs Launched:
  15. Job 0: Map: 1   Cumulative CPU: 1.16 sec   HDFS Read: 305 HDFS Write: 110 SUCCESS
  16. Total MapReduce CPU Time Spent: 1 seconds 160 msec
  17. OK
  18. Time taken: 16.701 seconds

查看数据结果:

[java] view plain copy
  1. [hadoop@hadoopcluster78 output]$ cat /home/hadoop/output/000000_0
  2. 1,fish1,SZ,2015-07-08
  3. 2,fish2,SH,2015-07-08
  4. 3,fish3,HZ,2015-07-08
  5. 4,fish4,QD,2015-07-08
  6. 5,fish5,SR,2015-07-08

通过INSERT OVERWRITE LOCAL DIRECTORY将hive表testA数据导入到/home/hadoop目录,众所周知,HQL会启动Mapreduce完成,其实/home/hadoop就是Mapreduce输出路径,产生的结果存放在文件名为:000000_0。

 

(2)导出到HDFS

导入到HDFS和导入本地文件类似,去掉HQL语句的LOCAL就可以了

[java] view plain copy
  1. hive> INSERT OVERWRITE DIRECTORY '/home/hadoop/output' select * from testA;
  2. Total jobs = 3
  3. Launching Job 1 out of 3
  4. Number of reduce tasks is set to 0 since there's no reduce operator
  5. Starting Job = job_1451024007879_0002, Tracking URL = http://hadoopcluster79:8088/proxy/application_1451024007879_0002/
  6. Kill Command = /home/hadoop/apache/hadoop-2.4.1/bin/hadoop job  -kill job_1451024007879_0002
  7. Hadoop job information for Stage-1: number of mappers: 1; number of reducers: 0
  8. 2015-12-25 17:08:51,034 Stage-1 map = 0%,  reduce = 0%
  9. 2015-12-25 17:08:59,313 Stage-1 map = 100%,  reduce = 0%, Cumulative CPU 1.4 sec
  10. MapReduce Total cumulative CPU time: 1 seconds 400 msec
  11. Ended Job = job_1451024007879_0002
  12. Stage-3 is selected by condition resolver.
  13. Stage-2 is filtered out by condition resolver.
  14. Stage-4 is filtered out by condition resolver.
  15. Moving data to: hdfs://hadoop2cluster/home/hadoop/hivedata/hive-hadoop/hive_2015-12-25_17-08-43_733_1768532778392261937-1/-ext-10000
  16. Moving data to: /home/hadoop/output
  17. MapReduce Jobs Launched:
  18. Job 0: Map: 1   Cumulative CPU: 1.4 sec   HDFS Read: 305 HDFS Write: 110 SUCCESS
  19. Total MapReduce CPU Time Spent: 1 seconds 400 msec
  20. OK
  21. Time taken: 16.667 seconds

查看hfds输出文件:

[java] view plain copy
  1. [hadoop@hadoopcluster78 bin]$ ./hadoop fs -cat /home/hadoop/output/000000_0
  2. 1fish1SZ2015-07-08
  3. 2fish2SH2015-07-08
  4. 3fish3HZ2015-07-08
  5. 4fish4QD2015-07-08
  6. 5fish5SR2015-07-08

其他

采用hive的-e和-f参数来导出数据。

参数为: -e 的使用方式,后面接SQL语句。>>后面为输出文件路径

[java] view plain copy
  1. [hadoop@hadoopcluster78 bin]$ ./hive -e "select * from testA" >> /home/hadoop/output/testA.txt
  2. 15/12/25 17:15:07 WARN conf.HiveConf: DEPRECATED: hive.metastore.ds.retry.* no longer has any effect.  Use hive.hmshandler.retry.* instead
  3. Logging initialized using configuration in file:/home/hadoop/apache/hive-0.13.1/conf/hive-log4j.properties
  4. OK
  5. Time taken: 1.128 seconds, Fetched: 5 row(s)
  6. [hadoop@hadoopcluster78 bin]$ cat /home/hadoop/output/testA.txt
  7. 1   fish1   SZ  2015-07-08
  8. 2   fish2   SH  2015-07-08
  9. 3   fish3   HZ  2015-07-08
  10. 4   fish4   QD  2015-07-08
  11. 5   fish5   SR  2015-07-08

参数为: -f 的使用方式,后面接存放sql语句的文件。>>后面为输出文件路径

SQL语句文件:

[java] view plain copy
  1. [hadoop@hadoopcluster78 bin]$ cat /home/hadoop/output/sql.sql
  2. select * from testA

使用-f参数执行:

[java] view plain copy
  1. [hadoop@hadoopcluster78 bin]$ ./hive -f /home/hadoop/output/sql.sql >> /home/hadoop/output/testB.txt
  2. 15/12/25 17:20:52 WARN conf.HiveConf: DEPRECATED: hive.metastore.ds.retry.* no longer has any effect.  Use hive.hmshandler.retry.* instead
  3. Logging initialized using configuration in file:/home/hadoop/apache/hive-0.13.1/conf/hive-log4j.properties
  4. OK
  5. Time taken: 1.1 seconds, Fetched: 5 row(s)

参看结果:

[java] view plain copy
  1. [hadoop@hadoopcluster78 bin]$ cat /home/hadoop/output/testB.txt
  2. 1   fish1   SZ  2015-07-08
  3. 2   fish2   SH  2015-07-08
  4. 3   fish3   HZ  2015-07-08
  5. 4   fish4   QD  2015-07-08
  6. 5   fish5   SR  2015-07-08

转载于:https://www.cnblogs.com/zmdd/p/8393223.html

Hive数据导出的几种方式相关推荐

  1. Hive数据导出的三种方式

    导出到HDFS INSERT OVERWRITE  DIRECTORY '/user/hive/warehouse/02' row FORMAT DELIMITED fields TERMINATED ...

  2. hive数据导入的6种方式

    目录 1.hadoop fs -put的方式 2.load的方式 3.insert...values的方式 4.insert...select的方式 5.CTAS的方式(比第4种方式更加简便) 6.c ...

  3. Hive数据导出为csv、tsv文件的几种方法

    Hive数据导出csv,tsv 第一种(推荐) hadoop fs -cat hdfs_path/* |tr "\t" "," > file_path/f ...

  4. MySQL数据导入导出的两种方式

    文章目录 前言 一.使用Navicat Premium数据库可视化工具的企业管理器导入导出数据 1.企业管理器导入步骤: 2.企业管理器导出步骤: 二.cmd方式导入导出数据 1.cmd导入步骤: 2 ...

  5. Hive创建表的几种方式

    hive执行的三种方式: 1. 用hive CLI 2. 终端执行hive命令: hive -e hive语句 3. 终端执行hive脚本: hive -f  hive脚本 如果需要通过jdbc来连接 ...

  6. 数据迁移的几种方式 - MySQL数据库

    写在前面:博主是一只经过实战开发历练后投身培训事业的"小山猪",昵称取自动画片<狮子王>中的"彭彭",总是以乐观.积极的心态对待周边的事物.本人的技 ...

  7. Vue+iview将表格table以excel文件导出的几种方式

    前言 在日常工作中,若是经常跟后台管理系统打交道的朋友想必对导出excel表格这种需求肯定很熟悉吧.不过我也问了身边的一些岗位为后端工程师的朋友,他们说在公司的话一般导出excel表格的工作一般由后端 ...

  8. Excel导入导出(导出有两种方式:直接返回流、返回下载地址)

    注:文章皆为个人纪录,可用性请以最终结果为准,若有错还请大佬们指出,谢谢! 程序入口 package com.jxz.owner.controller.excel;import com.jxz.own ...

  9. docker容器运行mysql持久化_docker容器实现数据持久化的两种方式及其区别

    前言 这篇博文是我对docker实现数据持久化几种方式的特征进行一个总结. 在docker中,它的存储文件系统是在dockerhost上原有的xfs或ext4架设了一层文件系统:overlay2(将此 ...

最新文章

  1. c语言直接插入排序步骤,经典排序之直接插入排序(C语言)
  2. Android --- 屏幕方向screenOrientation属性详解
  3. delete expired backup 和 delete obsolete
  4. 【VMware vSAN 6.6】5.5.Update Manager:vSAN硬件服务器解决方案
  5. sql去重复查询distinct_SQL的简单查询
  6. 算法学习三:使用霍纳规则计算多项式
  7. Java MongoDB 资料集合
  8. 3个开源TTS(五)eSpeak1.06的源码调试分析
  9. 微机实验报告7 定时/计数器应用实验
  10. 重装系统之制作U盘启动盘 - 一盘通装
  11. Qmail加装自动杀毒(转)
  12. illumina平台的一些扩增子测序项目介绍
  13. CSS:字体样式(字体系列、大小、加粗、风格、变形等)
  14. Mac 重置 idea
  15. 授人以鱼不如授人以渔——和女儿学一起学成语
  16. HTTP状态代码2XX、3XX、4XX、5XX分析
  17. Cortex-A8处理器编程(上)
  18. 实验九 FBG 团队项目需求改进与系统设计
  19. 【解决方案】如何搭建运动场体育赛事直播方案:EasyCVR综合智能化体育赛事直播
  20. Arcgis使用教程(十)ARCGIS地图制图之经纬网格添加

热门文章

  1. 哈希表查找失败的平均查找长度_面试官:哈希表都不知道,你是怎么看懂HashMap的?...
  2. java通过InputStream读取文件
  3. 在vue项目中定义全局变量和全局函数
  4. 如何才能通过设置将excel单元格内的14位数字转换为日期格式
  5. Android开发笔记(八十一)屏幕规格适配
  6. Java之注解的定义及使用
  7. 高通要求欧盟取消12亿美元反垄断罚款,理由是……
  8. 照葫芦画瓢之老男孩购物车程序
  9. (寒假集训)Mooo Moo (完全背包)
  10. 回溯递归算法----八皇后问题