转自:http://blog.chinaunix.net/uid-27177626-id-4653808.html

Hive三种不同的数据导出的方式,根据导出的地方不一样,将这些方法分为三类:
(1)导出到本地文件系统

(2)导出到HDFS

(3)导出到hive的另一个表中

导出到本地文件系统

执行:

hive> insert overwrite local directory '/root/student'

> select * from student;

通过insert overwrite local directory将hive中的表student的内容倒到本地文件系统的/root下的student目录下,这条HQL的执行需要启用Mapreduce完成,运行完这条语句之后,将会在本地文件系统的/root/student目录下生成文件,这个文件是Reduce产生的结果(这里生成的文件名是000000_0),我们可以看看这个文件的内容:

可以看出这就是表student中的数据,数据之间用空格间隔开来。

注:将数据从hive倒到本地文件系统与将数据倒到hive不一样,不能用insert into实现。

导出到HDFS

将hive中的数据导出到HDFS和将数据导出到本地文件系统类似,只是命令的执行中少了一个“local”

可以查看hdfs的对应目录,发现数据确实倒入了指定目录。

将数据导出到hive的另一张表

即:hive> insert into table hive_student_test 
            > select id,name,sex,salary           
            > from student;

前提是在hive中创建好目标表hive_student_test,然后执行上述操作将hive中的student表的数据依据其id,name,sex,salary字段将其导入到目标表中。查询目标表的结果:

在hive0.11.0版本中新引进了一个新的特性,也就是当用户将hive查询结果输出到文件,用户可以只用列的分隔符,而在之前的版本中是不能指定列之间的分隔符的。例如:

hive> insert overwrite local directory '/root/student'

> row format delimited

> fields terminated by '\t'

> select * from student;

还可以用hive的-e和-f参数来导出数据,其中-e表示后面直接带双引号的sql语句;而-f是接一个文件,文件的内容为一个sql语句。如下所示:

执行:./hive -e "select * from student" >> /root/student11.txt

这个得到的结果也是用\t分割的。也可以用-f实现。

执行:./hive -f /root/SQL.sql >> /root/student12.txt

最新文章

  1. JavaScript把项目本地的图片或者图片的绝对路径转为base64字符串、blob对象在上传
  2. UML大战需求分析阅读笔记2
  3. android studio-创建第一个项目
  4. FLAG是什么公司
  5. Hadoop入门进阶课程13--Chukwa介绍与安装部署
  6. 安装sklearn时出现 "ImportError: DLL load failed" 的解决方法
  7. js代码 设为首页 加入收藏
  8. java poi操作excel 添加 锁定单元格保护
  9. c++ 控制台流和字符串流
  10. sql为了实现转换的行列
  11. 第三方app抽奖发送微信红包
  12. SpringBoot SpringSecurity4整合,灵活权限配置,弃用注解方式.
  13. Anaconda spyder 设置tab键为2个空格
  14. js判断浏览器的类型,动态调整div布局
  15. Java面试(一) -- 基础部分(1)
  16. Cracking The Coding Interview 4.1
  17. IDEA集成git和使用步骤
  18. h5可伸缩布局方案
  19. C语言参数传递(值传递、地址传递)+二级指针
  20. 第六章 JVM垃圾收集器(2)

热门文章

  1. PHP如何使用免费在线客服插件
  2. iOS kvo 结合 FBKVOController 的使用
  3. 公共DNS服务
  4. taro CSS Modules 的使用
  5. Jquery—Jquery中的(function($){...})(jQuery)
  6. MySQL中的锁、隔离等级和读场景
  7. android源码相关网站
  8. oracle的常规操作(基本命令)
  9. js中ip地址与整数的相互转换
  10. Linux-iptables详解